1

我有一个 60k 行和 30 多列的 excel 报告。我想将值H1与列中的所有值进行比较B:B,当有匹配时,我想将值打印Nx到不同的列BF:BFsheet2.A:A,以简单者为准,然后继续Hx等等。

请帮帮我。在此先感谢。

4

2 回答 2

2

为什么要使用宏?

[BF2] =IF($H$1=B2; N2; "")
[H2]  =BF2
于 2013-10-03T09:59:58.080 回答
0

此代码将使用存储在同一工作表的单元格 H1 中的值检查 B 列中的每个单元格。当值匹配时,它将用列“N”值填充 BF 列中的对应单元格(按行):只需填写工作表名称并最终设置较小的行数(至 10000)

Sub CompareValues ()
Dim Wks as Worksheet: Set Wks = Sheets("YourWorkSheetName")
    ' in this worksheet the code will do the lookup and copy values
Dim Wks2 as Worksheet: Set Wks2 = Sheets("YourOtherWorkSheetName")
    ' in this sheet (2) the code will optionally copy the values
CompareValue = Wks.Range("H1").value
    Dim I as integer
    for i = 1 to 10000 ' you can set a smaller value thow
        If Wks.Range("B"&i) = CompareValue then 
        Wks.Range("BF"&i).Value = Wks.Range("N"&i)
        ' to fill the value into another sheet simply replace the Wks with Wks2
        ' Wks2.Range("BF"&i) = = Wks.Range("N"&i)
        end if
    next i
End Sub

希望这可以帮助!

于 2013-10-03T12:54:05.573 回答