我有一个包含60k行和30多列的excel报告。我想将值H1
与列B:B
中的所有值进行比较,当匹配时,我想将值Nx
打印到不同的列BF:BF
或{ {1}},无论哪个都很简单,然后转到sheet2.A:A
,依此类推。
请帮帮我。谢谢。
答案 0 :(得分:2)
为什么要使用宏?
[BF2] =IF($H$1=B2; N2; "")
[H2] =BF2
答案 1 :(得分:0)
此代码将使用存储在同一工作表的单元格H1中的值检查B列中的每个单元格。当值匹配时,它将填充BF列中的相应单元格(按行)和“N”列: 只需填写工作表名称,最后设置较小的行数(至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
希望这有帮助!