VBA – 查找值出现在另一张纸上的次数
我对VBA比较陌生,遇到了一些问题。 我在Sheet 1
有一个值列表,所有这些值也在Sheet 2
中列出。 许多值在Sheet 2
多次列出。 如何计算在工作Sheet 2
出现的值的次数,然后将该数字添加到工作Sheet 1
Cells(a,3)
(其中a对应于该行)? 我想保持图1中列出的值不变,只能操作每行中的Cell(a,3)
。
我尝试了很多东西,但我真的不知道从哪里开始。 任何帮助,将不胜感激。
你会循环使用类似于你的单元格:
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循环遍历第一列到第三列中的最后一个单元格,那么将“sheet2”中的countif(将A:AZ更改为您使用的列的值)添加到“Value”
您可以通过仅将COUNTIF()
函数分配给您的范围,而无需循环即可完成此操作:
With Range("C2:C" & Range("A2").End(xlDown).Row) .Formula = "=COUNTIF(Sheet2!A:A,A2)" .Value = .Value End With