匹配并替换其他工作表中的单元格

时间:2011-10-28 10:42:33

标签: excel match

对于这种类型的查询我没有经验,而且我被卡住了。

我找到了一个我用过的工作查询,这是逻辑:

“如果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值”

有人可以帮忙吗?

1 个答案:

答案 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查看,那么你将有一个潜在的代码破灭....请告知你是否希望进一步调整代码