Vba 如果重复,则计数重复项,与列匹配并计算总和 样本数据: 错误的伪代码: 在A列中循环检查重复项 如果发现重复,增加重复计数器并存储在阵列中 然后在C列写上“示例#” 使用计数器在B列中的行之间跳转,并对D列中的值和输出求和 英语: 将每个“示例”的所有值相加 将“示例#”输出到指定的列/行 求和值并输出到指定的列/行
有更简单的方法吗?由VBA(通过记录宏)创建的数据透视表:Vba 如果重复,则计数重复项,与列匹配并计算总和 样本数据: 错误的伪代码: 在A列中循环检查重复项 如果发现重复,增加重复计数器并存储在阵列中 然后在C列写上“示例#” 使用计数器在B列中的行之间跳转,并对D列中的值和输出求和 英语: 将每个“示例”的所有值相加 将“示例#”输出到指定的列/行 求和值并输出到指定的列/行,vba,excel,Vba,Excel,有更简单的方法吗?由VBA(通过记录宏)创建的数据透视表: 对于示例2的结果是6,而不是8,您可以使用轴而不使用任何VBA。如果你真的想用VBA来做这件事,请同时发布你的真实代码,并解释为什么它不起作用。(在大型数据集上,pivot表总是比任何VBA代码都要快得多)。供将来参考,请参阅。请参阅和。使用固定宽度字体的代码块格式(每行开头4个空格,或使用编辑器中的{}按钮)。我理解图像的问题,Jeeped。正如aucuparia指出的,我不知道如何最好地呈现固定宽度的材料。此外,如果我在物理上搜索特
对于
示例2
的结果是6
,而不是8
,您可以使用轴而不使用任何VBA。如果你真的想用VBA来做这件事,请同时发布你的真实代码,并解释为什么它不起作用。(在大型数据集上,pivot表总是比任何VBA代码都要快得多)。供将来参考,请参阅。请参阅和。使用固定宽度字体的代码块格式(每行开头4个空格,或使用编辑器中的{}按钮)。我理解图像的问题,Jeeped。正如aucuparia指出的,我不知道如何最好地呈现固定宽度的材料。此外,如果我在物理上搜索特定的查询,SumIf和CountIf也可以工作。我正试图让它根据当前添加的材料自行填充。我会把我的密码寄回去的。
Column A Column B Column C Column D
Example 1 5 Example 1 13
Example 1 2 Example 2 8
Example 1 4
Example 1 2
Example 2 2
Example 2 4
Example 3 2
Sub MacroPT()
Application.CutCopyMode = False
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Sheet1!R1C1:R1048576C2", Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="Sheet1!R1C3", TableName:="PivotTable1", DefaultVersion _
:=xlPivotTableVersion15
Sheets("Sheet1").Select
Cells(1, 3).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Column A")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Column B")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields("Column B"), "Count of Column B", xlCount
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Count of Column B")
.Caption = "Sum of Column B"
.Function = xlSum
End With
ActiveSheet.PivotTables("PivotTable1").CompactLayoutRowHeader = "Column C"
Range("D1").Select
ActiveSheet.PivotTables("PivotTable1").DataPivotField.PivotItems( _
"Sum of Column B").Caption = "Column D"
Range("C3").Select
With ActiveSheet.PivotTables("PivotTable1")
.ColumnGrand = False
.RowGrand = False
End With
End Sub