如何比较两个不同的工作表并将值放在各自的位置?
How to compare two different sheets and place values in their respective positions?
我想通过 VBA 比较两个不同传播sheets 中的两个不同细胞(一个 sheet 是基础 sheet),如果它们是同样,将它们所比较的值旁边的值和它们各自位置的值。
因此在图片中,A 在两个 sheet 中都是匹配项,因此值 30 被复制到基数 sheet。我正在处理的跨页sheet并没有像图片那样完美排列。
如果您需要更多说明,请告诉我。谢谢!
正如我所说,在这种情况下您可以使用 VLOOKUP。
假设你的两个值都在 sheet 的 A 到 B 列中,A1 和 B1 都是 headers,你可以在单元格 B2 中尝试以下公式:
=VLOOKUP(A2,Sheet2!A:B,2,0)
这将为您提供上述结果。还假设您的 sheet 名称是 Sheet1 和 Sheet2.
编辑: VBA代码
使用公式 属性
With Sheets("Sheet1").Range("A2")
.Formula = "=VLOOKUP(A2,Sheet2!A:B,2,0)"
.Value = .Value
End With
使用评估方法
With Sheets("Sheet1")
' 3 ways to use Evaluate method
.Range("A2").Value = [VLOOKUP(A2,Sheet2!A:B,2,0)] ' Evaluate shortcut
.Range("A2").Value = .Evaluate("VLOOKUP(A2,Sheet2!A:B,2,0)") ' explicitly
.Range("A2").Value = Evaluate("VLOOKUP(A2,Sheet2!A:B,2,0)")
End With
Using WorkSheetFunction Method - 已由 Tom
提供
您可以在 VBA 中使用本机 sheet 功能。只需在 worksheet 函数前加上 'Application.WorksheetFunction'.
Application.WorksheetFunction.VLookup(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Columns("A:B"), 2, False)
希望对您有所帮助。
我想通过 VBA 比较两个不同传播sheets 中的两个不同细胞(一个 sheet 是基础 sheet),如果它们是同样,将它们所比较的值旁边的值和它们各自位置的值。
因此在图片中,A 在两个 sheet 中都是匹配项,因此值 30 被复制到基数 sheet。我正在处理的跨页sheet并没有像图片那样完美排列。
如果您需要更多说明,请告诉我。谢谢!
正如我所说,在这种情况下您可以使用 VLOOKUP。
假设你的两个值都在 sheet 的 A 到 B 列中,A1 和 B1 都是 headers,你可以在单元格 B2 中尝试以下公式:
=VLOOKUP(A2,Sheet2!A:B,2,0)
这将为您提供上述结果。还假设您的 sheet 名称是 Sheet1 和 Sheet2.
编辑: VBA代码
使用公式 属性
With Sheets("Sheet1").Range("A2") .Formula = "=VLOOKUP(A2,Sheet2!A:B,2,0)" .Value = .Value End With
使用评估方法
With Sheets("Sheet1") ' 3 ways to use Evaluate method .Range("A2").Value = [VLOOKUP(A2,Sheet2!A:B,2,0)] ' Evaluate shortcut .Range("A2").Value = .Evaluate("VLOOKUP(A2,Sheet2!A:B,2,0)") ' explicitly .Range("A2").Value = Evaluate("VLOOKUP(A2,Sheet2!A:B,2,0)") End With
Using WorkSheetFunction Method - 已由 Tom
提供
您可以在 VBA 中使用本机 sheet 功能。只需在 worksheet 函数前加上 'Application.WorksheetFunction'.
Application.WorksheetFunction.VLookup(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Columns("A:B"), 2, False)
希望对您有所帮助。