Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 填充透视表值的Userform列表框-excel_Vba_Listbox_Excel 2010_Pivot Table_Userform - Fatal编程技术网

Vba 填充透视表值的Userform列表框-excel

Vba 填充透视表值的Userform列表框-excel,vba,listbox,excel-2010,pivot-table,userform,Vba,Listbox,Excel 2010,Pivot Table,Userform,我正在尝试加载一个包含透视表字段中的行的列表框。我发现以下代码适用于ActiveX控件列表框,但不适用于用户表单列表框。UserForm控件收到438错误。我正在使用一系列用户表单,activeX控件只能嵌入到工作表中 Private Sub ListBox1_Click() Dim Pf As PivotField Dim I As Integer Set Pf = Worksheets("Sheet4").PivotTables(1).Pivot

我正在尝试加载一个包含透视表字段中的行的列表框。我发现以下代码适用于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
原始代码在此处找到:


提前感谢您的帮助

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与您的userform名称匹配。或者改用ME关键字