Vba 分组时忽略的轴心项目
我是一个VBA noob,谦虚地需要一些帮助。我借用了一个代码来对特定的数据透视项进行分组。该代码在大多数情况下都非常有效,但它遗漏了下面代码中突出显示的属于(根据代码)创建的特定组的2个轴心项目。我附上了代码和屏幕截图。请帮忙 多谢各位Vba 分组时忽略的轴心项目,vba,excel,grouping,pivot-table,pivotitem,Vba,Excel,Grouping,Pivot Table,Pivotitem,我是一个VBA noob,谦虚地需要一些帮助。我借用了一个代码来对特定的数据透视项进行分组。该代码在大多数情况下都非常有效,但它遗漏了下面代码中突出显示的属于(根据代码)创建的特定组的2个轴心项目。我附上了代码和屏幕截图。请帮忙 多谢各位 Dim itm2 As PivotItem Dim unionrng2 As Range Dim rLabel2 As Range For Each itm2 In ActiveSheet.PivotTables("PivotTable1").PivotF
Dim itm2 As PivotItem
Dim unionrng2 As Range
Dim rLabel2 As Range
For Each itm2 In
ActiveSheet.PivotTables("PivotTable1").PivotFields("Processor").PivotItems
If (itm2.Name = "Credit Card - Benefit Lifestyle" Or itm2.Name = "Credit
Card - Benefits Dental" Or itm2.Name = "Credit Card - Benefits Eye" Or
itm2.Name = "Credit Card - Benefits Lab1 22" Or itm2.Name = "Credit Card -
Benefits Lab2" Or itm2.Name = "Credit Card - Benefits Save 2" Or itm2.Name =
"Credit Card - Benefits Save 72" Or itm2.Name = "Credit Card - NMI CH Dental
2" Or itm2.Name = "Credit Card - NMI CH Eye savings 16" Or itm2.Name =
"Credit Card - NMI Q1" Or itm2.Name = "Credit Card - NMI Q2" Or itm2.Name
= "Credit Card - NMI Q3" **<"This one is left out of the group"** Or
itm2.Name = "Credit Card - NMI Q4") Then
Set rLabel2 = itm2.LabelRange
On Error GoTo 0
If Not rLabel2 Is Nothing Then
If unionrng2 Is Nothing Then
Set unionrng2 = rLabel2
Else
Set unionrng2 = Union(unionrng2, rLabel2)
End If
End If
End If
Next itm2
unionrng2.Group
Dim itm5 As PivotItem
Dim unionrng5 As Range
Dim rLabel5 As Range
For Each itm5 In
ActiveSheet.PivotTables("PivotTable1").PivotFields("Processor").PivotItems
If (itm5.Name = "ACH - AMC Chase 40 (Authorize)" Or itm5.Name = "ACH -
C&H All (2967)" **<"This one is left out of the group"** Or itm5.Name = "ACH
- C&H Discount Medical (2992)" Or
itm5.Name = "ACH - Dental (3342)" Or itm5.Name = "ACH - Lab 1 (3339)" Or
itm5.Name = "ACH - Lab 2 (3340)" Or itm5.Name = "ACH - Platinum Plus (3341)"
Or itm5.Name = "ACH - Premier (3343)" Or itm5.Name = "ACH - Vision Benefits
(3338)") Then
Set rLabel5 = itm5.LabelRange
On Error GoTo 0
If Not rLabel5 Is Nothing Then
If unionrng5 Is Nothing Then
Set unionrng5 = rLabel5
Else
Set unionrng5 = Union(unionrng5, rLabel5)
End If
End If
End If
Next itm5
unionrng5.Group
Dim itm2作为数据透视项
变暗RNG2 As范围
变暗rLabel2 As范围
对于每个itm2,在
ActiveSheet.PivotTables(“数据透视表1”)。数据透视字段(“处理器”)。数据透视项
如果(itm2.Name=“信用卡-福利生活方式”或itm2.Name=“信用卡
卡-牙科福利”或itm2.Name=“信用卡-眼科福利”或
itm2.Name=“信用卡-福利Lab1 22”或itm2.Name=“信用卡-
福利Lab2”或itm2.Name=“信用卡-福利储蓄2”或itm2.Name=
“信用卡-福利节省72”或itm2.Name=“信用卡-NMI CH牙科
2“或itm2.Name=“信用卡-NMI CH Eye储蓄16”或itm2.Name=
“信用卡-NMI Q1”或itm2.Name=“信用卡-NMI Q2”或itm2.Name
=“信用卡-NMI Q3”**欢迎使用SO。首先,错误恢复下一步的行,我建议您删除它,因为它隐藏了错误,但仍然会发生。此外,请更具体地说明您的问题。您的问题是什么意思?您有两个项目?多少个项目?哪些项目被遗漏了?谢谢!我道歉,pivotitem根据代码,“信用卡-NMI Q3”未按应与第2组分组,也未与数据透视项“ACH-C&H All(2967)”分组"没有按照代码的要求将其归为第5组。请允许我热情地建议您学习如何并立即提高代码的可读性和可维护性。尝试调试一段代码时,无凹入的嵌套结构是一种让人头疼的好方法。也就是说,代码不会按原样编译,它会有多余的换行符。Th谢谢Mathieu Guindon。我需要在这方面做得更好。如果有人能帮忙,我仍然有问题。