我想通过VBA比较两个不同电子表格中的两个不同单元格(一张是基本表格),如果它们是相同的,请将值与它们之间的值进行比较,并将值放在他们各自的立场。
因此,在图片中,A是两张纸中的匹配,因此将30的值复制到基纸上。我处理的电子表格并不像图像那样完美排列。
如果您需要更多说明,请与我们联系。谢谢!
答案 0 :(得分:3)
正如我所说,在这种情况下你可以使用VLOOKUP 假设您的值都在两个工作表的A列到B列中,而A1和B1都是标题,您可以在单元格B2中尝试以下公式:
= VLOOKUP(A2,Sheet 2中!A:B,2,0)
将为您提供上述结果。还假设您的工作表名称是 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提供
答案 1 :(得分:2)
您可以在VBA中使用本机工作表功能。只需在工作表函数前加上'Application.WorksheetFunction'。
Application.WorksheetFunction.VLookup(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Columns("A:B"), 2, False)
希望有所帮助。