Excel VBA宏脚本:从表2中的表1中查找值并复制找到的值

Excel VBA宏脚本:从表2中的表1中查找值并复制找到的值,vba,excel,Vba,Excel,我面临着以下挑战:我有一个Excel表格,其中A列有值(例如,C Klasse,A Klasse,Golf,Astra) 在第二张纸上,我有两列A和B,其中包含以下信息:A列、梅赛德斯、欧宝、大众等。”在B列,我有以下内容:C克拉斯、A克拉斯、高尔夫、阿斯特拉”(与第1张A列信息相同) 目标:从第1张第2张B列中的A列中查找值->从第2张A列复制值->粘贴到第1张M列中 示例:A2=C Klasse->在工作表2中查找,C Klasse“”,在B42中查找,C Klasse“”,从A42复制内容

我面临着以下挑战:我有一个Excel表格,其中A列有值(例如,C Klasse,A Klasse,Golf,Astra)

在第二张纸上,我有两列A和B,其中包含以下信息:A列、梅赛德斯、欧宝、大众等。”在B列,我有以下内容:C克拉斯、A克拉斯、高尔夫、阿斯特拉”(与第1张A列信息相同)

目标:从第1张第2张B列中的A列中查找值->从第2张A列复制值->粘贴到第1张M列中

示例:A2=C Klasse->在工作表2中查找,C Klasse“”,在B42中查找,C Klasse“”,从A42复制内容,梅赛德斯“”->粘贴M2

这是我提出的代码,我刚刚开始,请耐心听我说:

Range("A2").Select
Selection.Copy
Sheets("Form2").Select
Cells.Find(What:=Range("A2"), After:=ActiveCell, _
    LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Range("A193").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Form1").Select
Range("M2").Select
ActiveSheet.Paste

所以这个问题是通过使用Excel公式VLOOKUP而不是VBA来解决的

公式如下:=VLOOKUP(A2,Ressort!$A$1:$B$232,2,FALSE)


非常感谢@Siddharth Rout-是他让我大开眼界的!:)

请看@Siddharth Rout,我的要求比第4节更复杂(尽管对于像我这样的新手来说这是一个很好的读物),在你的例子中,你有类似于:B5=J5的数据。我不是这样。我的数据更像B5=A22(来自另一张表)。因此,您需要相应地设置范围:)同样的原则也适用……假设数据位于另一张表和列A中……这是我编辑的唯一部分:'set ws=Worksheets(“Form1”)set UpdateRange=ws.range(“A2:A30”)set ws=Worksheets(“Form2”)set DataRange=ws.range(“B1:B500”)'您可以发布数据外观的屏幕截图吗?+1用于自己解决:)对于新用户,上面的Ressort是第二张表的名称,而不是排序命令。初学者最好在示例中使用SheetA、SheetB等。