VBA - 查找值在另一张纸上显示的次数

时间:2015-08-06 19:34:57

标签: excel vba excel-vba

我对VBA比较陌生,而且我遇到了问题。我在Sheet 1中有一个值列表,所有这些值也列在Sheet 2中。许多值在Sheet 2中多次列出。如何计算值在Sheet 2中显示的次数,然后将该数字添加到Cells(a,3)中的Sheet 1(其中a对应于该行)?我想保持Sheet 1中列出的值不变,只在每行中操作Cell(a,3)

我尝试了很多东西,但我真的不知道从哪里开始。任何帮助将不胜感激。

2 个答案:

答案 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