我对VBA比较陌生,而且我遇到了问题。我在Sheet 1
中有一个值列表,所有这些值也列在Sheet 2
中。许多值在Sheet 2
中多次列出。如何计算值在Sheet 2
中显示的次数,然后将该数字添加到Cells(a,3)
中的Sheet 1
(其中a对应于该行)?我想保持Sheet 1中列出的值不变,只在每行中操作Cell(a,3)
。
我尝试了很多东西,但我真的不知道从哪里开始。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用以下内容循环访问您的单元格:
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 for循环第一列到第3列中的最后一个单元格,然后从sheet2中添加countif(将A:AZ更改为您使用的任何列为)" Value"
答案 1 :(得分:1)
只需将COUNTIF()
函数指定给您的范围,就可以在没有循环的情况下执行此操作:
With Range("C2:C" & Range("A2").End(xlDown).Row)
.Formula = "=COUNTIF(Sheet2!A:A,A2)"
.Value = .Value
End With