在2个不同excel文件的2个不同列中查找匹配值

在2个不同excel文件的2个不同列中查找匹配值,excel,excel-2007,vba,Excel,Excel 2007,Vba,大家好,excel 2007中的vba新手 下面是我想写一个宏的场景,其中abc.xls中a列的值位于.xyz.xls中c列的值。如果有人能帮我解决这个问题,并且能轻松完成剩下的工作。谢谢你抽出时间 欢迎来到SO。继续Tim在评论中所说的内容是在另一张表中找到值的一种简单方法。在您的情况下,函数将如下所示: vlookup([abc.xls]Sheet1!A1, [xyz.xls]Sheet1!C:C, 1, False) 第一部分是要查找的值,第二部分是要在其中查找值的表(在本例中仅为一行)

大家好,excel 2007中的vba新手


下面是我想写一个宏的场景,其中abc.xls中a列的值位于.xyz.xls中c列的值。如果有人能帮我解决这个问题,并且能轻松完成剩下的工作。谢谢你抽出时间

欢迎来到SO。继续Tim在评论中所说的内容是在另一张表中找到值的一种简单方法。在您的情况下,函数将如下所示:

vlookup([abc.xls]Sheet1!A1, [xyz.xls]Sheet1!C:C, 1, False)
第一部分是要查找的值,第二部分是要在其中查找值的表(在本例中仅为一行),第三部分是要从表中的哪一列返回值,第三部分告诉它查找精确匹配。因此,该函数将在xyz.xls的C列中查找abc.xls的A1中的值,如果找到该值,则返回该值

如果您想要找到值所在的行,请使用match函数

match([abc.xls]Sheet1!A1, [xyz.xls]Sheet1!C:C, 0)
这将执行与vlookup相同的操作,但返回找到匹配项的行


请注意,您不必直接键入这些公式。如果您导航到一个新工作簿并选择单元格,它将生成引用,就像您从当前工作表中选择了一个一样。

您可以使用vlookup()轻松完成此操作-无需VBA。除非你的需求比你的问题看起来更复杂…在ColA中的单元格中循环-使用Find()在ColC上查找任何匹配的行。谢谢,这很有用,但我需要在vba中使用它,因为将有其他功能添加到宏中。如果这是您需要的功能,您可以使用
WorksheetFunction.Match
WorksheetFunction.VLookup
从宏中使用它们。