如果第一列中的单元格在二维数组中相同,则在第二列中添加单元格会出现问题

我的Excel文件看起来像这样:

Work Pairs Name strobel 400 Katarina strobel 200 Katarina strobel 200 Katarina sekanie 400 Katarina sekanie 300 Katarina sekanie 300 Katarina sekanie 300 Katarina sekanie 200 Katarina sekanie 100 Katarina 

基本上它列出了一个人做了什么(工作)的操作,在这样的操作中完成的对的数量(对)和人的姓名(名字)。

我已经通过循环两次将所有内容放入数组中:

  For j = 1 To strDataRange.Rows.Count For k = 1 To 3 arr(j, k) = strDataRange(j, k) Next k Next j 

strDataRange是单元格(2,1)到单元格的范围(lastrow,3)。 这个数组工作正常。

我需要做的是,如果第一列中的操作具有相同的名称,那么将这样的操作中完成的对的数目加起来,并用这个信息创build一个新的列表(或数组)。 最终的结果将是

 strobel 800 Katarina sekanie 1600 Katarina 

我并不确定如何做到这一点(对编程非常缺乏经验),而且我宁可不浪费20个小时的尝试,即使我做了正确的事情也是行不通的。

我的想法是这样的:

  For m = 1 To UBound(arr, 1) If arr(m, 1) = arr(m + 1, 1) Then <make new array where the pairs of first 2 matches add up> <somehow make this new array iterate until there are no 2 identical matches> Next m 

非常感谢,感谢任何帮助!

为什么在VBA中?

创build一个数据透视表:

  • 将工作添加到ROWS
  • 将对添加到VALUES

瞧!

如何创build一个数据透视表

转到插入 – >数据透视表。 如上所述在数据透视表字段面板中继续。

在此处阅读更多信息: https : //support.office.com/zh-CN/article/Overview-of-PivotTable-and-PivotChart-reports-00a5bf71-65cb-49f9-b321-85bb7b0b06c2