首页 > 解决方案 > Excel VBA 从源工作表获取动态值到目标工作表

问题描述

我是 VBA 的新手,我已经尝试了一段时间,但到目前为止还没有运气。

我有一个包含 2 个动态工作表 1 和 2 的工作簿。每个工作表都有 A(标签 ID)、B(ID 变化)、C(值)列。如果 sheet1 中 A&B 列的值与 sheet2 的 A&B 匹配,我想将 sheet2 中的 C 列复制到 sheet1 的 D 列中。也有可能表 2 可能没有样品的所有条目,并且只有一部分样品名称可用。

表 1

表2

任何帮助表示赞赏。

标签: excelvbaimportmatchlookup

解决方案


听起来您可以创建对工作表 1 和 2 的引用,并遍历其中一张工作表,同时检查另一张工作表中的每个条目是否存在,并在 A&B 匹配时复制该值。

自从我编写 VBA 以来已经有一段时间了,这在性能方面并不是一个很好的解决方案,但这可能会帮助您入门。

粗略示例(在语法上绝对不正确,并且缺少将 sheet1 和 sheet2 分配给实际工作簿):

Dim sheet1 As Worksheet 
Dim sheet2 As Worksheet

For row In sheet1
    For row2 In sheet2
        If row.Range("A").Value == row2.Range("A").Value
            If row.Range("B").Value == row2.Range("B").Value
                row.Range("D").Value = row2.Range("C").Value

推荐阅读