我是VBA的新手,遇到了一个问题。我在Sheet 1
中有一个值列表,所有这些值也在Sheet 2
中列出。许多值在Sheet 2
中被多次列出。如何计算该值在Sheet 2
中出现的次数,然后将该数字与Sheet 1
中的Cells(a,3)
相加(其中a对应于该行)?我想保持表1中列出的值不变,并且只在每一行中操作Cell(a,3)
。
我已经尝试了很多方法,但我真的不知道从哪里开始。任何帮助都将不胜感激。
发布于 2015-08-06 19:45:15
您可以使用以下内容遍历单元格:
For Each rngCell in Range(Cells(1, 3), Cells(Rows.Count, 3).End(xlUp))
rngCell.Value = rngCell.Value + WorksheetFunction.CountIf('Sheet2!'A:AZ, "value")
Next rngCell
其中for循环遍历第3列中的第一个单元格到最后一个单元格,然后添加sheet2中的countif (将A:AZ更改为您使用的任何列)作为"Value“。
发布于 2015-08-07 03:03:55
您可以在不使用循环的情况下完成此操作,只需将COUNTIF()
函数分配给您的范围:
With Range("C2:C" & Range("A2").End(xlDown).Row)
.Formula = "=COUNTIF(Sheet2!A:A,A2)"
.Value = .Value
End With
https://stackoverflow.com/questions/31864331
复制