【发布时间】:2019-01-01 09:41:45
【问题描述】:
我在 Excel 文件中有两张表格,需要从一张表格执行 COUNTIF 公式并将相应的信息粘贴到另一张表格中。原始工作表仅具有第一列中的类型,第二列为空。我正在尝试遍历工作表 1 中的类型,在每个增量循环中通过工作表 2 中的类型,然后将工作表 2 中的第 2 列计数传递到工作表 1 的第 2 列。
我目前的VBA代码如下:
Sub TestOE()
'For loop to go until end of filled cells in 1st column of each sheet
a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
b = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
'Loop
For i = 2 To a
For j = 2 To b
If Worksheets("Sheet1").Cells(i, 1).Value = Worksheets("Sheet2").Cells(j, 1).Value Then
Worksheets("Sheet1").Cells(i, 2).Value = Application.WorksheetFunction.CountIf(Range("B:B"), 1)
End If
Next j
Next i
End Sub
此代码仅将 0 粘贴到工作表 1 上的所需结果中。
从
提取信息的工作表
用于将信息粘贴到的工作表
目标工作表中的期望结果
【问题讨论】:
-
我还有一个以前版本的代码,它会为所有类型产生相同的 COUNTIF 结果,因为它会计算所有二进制值。但是,我只希望它计算该特定类型的值。
-
为什么不使用数据透视表?
-
@Ryan 如果其中一种解决方案满足您的需求,请接受答案。如果所有答案都不适合您,请发表评论以分享您遇到的困难。 .