对于这种类型的查询我没有经验,而且我被卡住了。
我找到了一个我用过的工作查询,这是逻辑:
“如果Sheet2列A中的任何单元格= Sheet1列B中的任何单元格,请将sheet2列单元格值更改为sheet1列A值”
这个公式是:
Sub Test1()
Application.ScreenUpdating = False
Dim cell As Range, varFind As Variant
With Sheets("Sheet1")
For Each cell In Sheets("Sheet2").Columns(1).SpecialCells(2)
Set varFind = .Columns(2).Find(What:=cell.Value, LookIn:=xlFormulas, LookAt:=xlWhole)
If Not varFind Is Nothing Then cell.Value = .Cells(varFind.Row, 1).Value
Set varFind = Nothing
Next cell
End With
Application.ScreenUpdating = True
End Sub
这对我来说很好,但我需要稍微不同。它需要遵循这个逻辑:
“如果Sheet2列A中的任何单元格= Sheet1列B中的任何单元格,请将sheet1列A单元格值更改为sheet2列B值”
有人可以帮忙吗?
答案 0 :(得分:1)
[因为我需要将第2页上的列从A更改为B]
正如您所写的那样,您只需更改此行
即可 If Not varFind Is Nothing Then cell.Value = .Cells(varFind.Row, 1).Value
到
If Not varFind Is Nothing Then .Cells(varFind.Row, 1).Value = cell.Offset(0,1).Value
如果性能问题,可以提高代码速度。如果在第2页B栏中没有常量单元格供SpecialCells查看,那么你将有一个潜在的代码破灭....请告知你是否希望进一步调整代码