如何比较两张不同的图纸并将其值分别放置在各自的位置?

我想通过VBA比较两个不同的电子表格中的两个不同的单元格(一个表单是一个基本表单),如果它们是相同的,则将它们的比较值和位置值分别放在它们各自的位置上。

所以在图片中,A在两张纸上都是匹配的,所以30的值被复制到基本纸上。 我正在处理的电子表格并不像图像那样完美排列。

在这里输入图像说明

请让我知道,如果你需要更多的澄清。 谢谢!

正如我所说的,在这种情况下可以使用VLOOKUP。
假设您的值都在两个工作表的列A到B和A1和B1是标题,您可以尝试以下公式单元格B2中:

= VLOOKUP(A2,Sheet 2中!A:B,2,0)

这会给你以上的结果。 还假定您的工作表名称是Sheet1Sheet2

编辑: VBA代码

  1. 使用公式属性

    With Sheets("Sheet1").Range("A2") .Formula = "=VLOOKUP(A2,Sheet2!A:B,2,0)" .Value = .Value End With 
  2. 使用评估方法

     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 
  3. 使用WorkSheetFunction方法 – 已经由Tom提供

您可以在VBA中使用原生表单function。 只需在“Application.WorksheetFunction”前加上工作表函数即可。

 Application.WorksheetFunction.VLookup(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Columns("A:B"), 2, False) 

希望有所帮助。