0

我正在尝试使用数据透视表字段中的行加载列表框。我发现以下代码适用于 ActiveX 控件列表框,但不适用于用户窗体列表框。UserForm 控件收到 438 错误。我正在使用一系列用户窗体,而 activeX 控件只能嵌入到工作表中。

   Private Sub ListBox1_Click()
      Dim Pf As PivotField
      Dim I As Integer
        Set Pf = Worksheets("Sheet4").PivotTables(1).PivotFields("Field Name")
        With ActiveSheet.ListBox1
         .Clear
            For I = 1 To Pf.PivotItems.Count
            .AddItem Pf.PivotItems(I)
            Next
        End With
    End Sub

原始代码在这里找到:http ://www.pcreview.co.uk/forums/fill-listbox-values-pivot-table-field-example-t967653.html

在此先感谢您的帮助!

4

1 回答 1

1

LinkedIn上的某个人能够回答这个问题,我发布这个是为了在未来对其他人有帮助:

   Private Sub UserForm_Initialize() 

   Dim pvtTable As PivotTable 
   Dim pvtField As PivotField 
   Dim lngIndex As Long 

   Set pvtTable = Worksheets("Sheet4").PivotTables(1) 
   Set pvtField = pvtTable.PivotFields("Field Name") 

  For lngIndex = 1 To pvtField.PivotItems.Count 
  UserForm1.ListBox1.AddItem pvtField.PivotItems(lngIndex).Name 
  Next 

  End Sub 

确保引用 Userform1 与您的用户窗体的名称匹配。或者改用 ME 关键字。

于 2013-05-15T14:23:11.147 回答