Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何从其他工作表中查找列的每个单元格的信息?_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 如何从其他工作表中查找列的每个单元格的信息?

Excel 如何从其他工作表中查找列的每个单元格的信息?,excel,vba,excel-formula,Excel,Vba,Excel Formula,我有两张表,其中一张是公司所有计算机的数据库,以及相关信息“如Mac地址和制造商”,另一张是随机的计算机编号。如何一次找到表2所有单元格的mac地址和制造商名称?我可以单独搜索每台计算机的编号,但这可能需要很多时间 听起来您需要使用表2中的vlookup()函数。这将允许您逐行查找表1中是否存在计算机x,并返回MAC地址…假设。 (1) 表2中列出的这些随机计算机编号是表1列中的编号。 (2) 第1页的MAC地址在计算机编号的单独一列中,并在其右侧 如果您在Excel帮助中查找vlookup()

我有两张表,其中一张是公司所有计算机的数据库,以及相关信息“如Mac地址和制造商”,另一张是随机的计算机编号。如何一次找到表2所有单元格的mac地址和制造商名称?我可以单独搜索每台计算机的编号,但这可能需要很多时间

听起来您需要使用表2中的
vlookup()
函数。这将允许您逐行查找表1中是否存在计算机x,并返回MAC地址…假设。 (1) 表2中列出的这些随机计算机编号是表1列中的编号。 (2) 第1页的MAC地址在计算机编号的单独一列中,并在其右侧


如果您在Excel帮助中查找vlookup()函数,它也会非常清楚地解释出来。

听起来您需要使用第2页中的
vlookup()函数。这将允许您逐行查找表1中是否存在计算机x,并返回MAC地址…假设。
(1) 表2中列出的这些随机计算机编号是表1列中的编号。
(2) 第1页的MAC地址在计算机编号的单独一列中,并在其右侧


如果您在Excel帮助中查找vlookup()函数,它也会清晰明了地解释出来。

您可以使用如下两个循环来完成此操作:

dim counter x as long
dim finish as boolean
dim counter inner as long
x = 1
    do until isempty(worksheets("a").cells(x,1).value)
       finish = false
       inner = 1
       do until isempty(worksheets("b").cells(inner,1).value) or finish = true
          if worksheets("a").cells(x,1).value = worksheets("b").cells(inner,1).value then
            finish = true
          end if
       loop
       if finish = true then
            //copy data
       end if
    loop
你用随机计算机(我们称之为外循环)遍历这个表,在这个循环中,你每次遍历另一个表(内循环),在这个表中你用你的键搜索,如果你找到键,将布尔值设置为true

当没有更多行或找到目标时,跳出循环


检查后,检查是否找到它,并为外部循环中的当前行设置内部循环中的数据,然后必须重置内部循环的计数器和布尔值,并继续执行外部循环中的下一行。

您可以使用以下两个循环执行此操作:

dim counter x as long
dim finish as boolean
dim counter inner as long
x = 1
    do until isempty(worksheets("a").cells(x,1).value)
       finish = false
       inner = 1
       do until isempty(worksheets("b").cells(inner,1).value) or finish = true
          if worksheets("a").cells(x,1).value = worksheets("b").cells(inner,1).value then
            finish = true
          end if
       loop
       if finish = true then
            //copy data
       end if
    loop
你用随机计算机(我们称之为外循环)遍历这个表,在这个循环中,你每次遍历另一个表(内循环),在这个表中你用你的键搜索,如果你找到键,将布尔值设置为true

当没有更多行或找到目标时,跳出循环


检查后,检查您是否找到了它,并为外部循环中的当前行设置了内部循环中的数据,然后您必须重置内部循环的计数器和布尔值,并继续执行外部循环中的下一行。

您能否制作一个模拟示例,并发布一些设置的表格或图片?鉴于您提供的当前信息,很难复制您的问题并尝试解决它!你能做一个模拟的例子,并张贴一些你的设置表或图片吗?鉴于您提供的当前信息,很难复制您的问题并尝试解决它!或者,如果需要返回的值位于搜索值的左侧,则可以使用索引和匹配的组合:或者,如果需要返回的值位于搜索值的左侧,则可以使用索引和匹配的组合: