Vba 循环浏览一个工作表中的列值,并将另一列中的COUNTIF值粘贴到另一个工作表中
我在Excel文件中有两张表格,需要从一张表格中执行COUNTIF公式,并将相应的信息粘贴到另一张表格中。原始工作表只有第1列中的类型,第2列为空。我试图循环处理来自工作表1的类型,在每个增量循环中循环处理来自工作表2的类型,并通过工作表2的第2列的计数进入工作表1的第2列 我当前的VBA代码如下:Vba 循环浏览一个工作表中的列值,并将另一列中的COUNTIF值粘贴到另一个工作表中,vba,excel,Vba,Excel,我在Excel文件中有两张表格,需要从一张表格中执行COUNTIF公式,并将相应的信息粘贴到另一张表格中。原始工作表只有第1列中的类型,第2列为空。我试图循环处理来自工作表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 = Work
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
此代码仅在工作表1的所需结果中粘贴0
从中提取信息的工作表要在中粘贴信息的工作表
目的地表中的预期结果
您可以简单地使用sumif函数根据条件对值求和 这是公式 =COUNTIF(第1张!$A$2:$A$20,第2张!A2) 如果你想求B列的和,那么
=SUMIF(Sheet1!$A$2:$A$20,Sheet2!A2,Sheet1!$B$2:$B$20)只需几个步骤,就可以在没有VBA的情况下完成所需的任务,只需使用数据透视表即可。只需按照以下步骤操作
我还有一个以前版本的代码,它将为所有类型生成相同的COUNTIF结果,因为它将对所有二进制值进行计数。但是,我只想计算特定类型的值。为什么不使用透视表?@Ryan如果其中一个解决方案满足您的需要,请接受答案。。如果所有答案都不适合你,请发表评论,分享你所面临的困难。。。