首页 文章

Excel VBA:在一个工作表中查找详细信息,然后复制(追加)到另一个工作表[关闭]

提问于
浏览
-3

我非常感谢你帮助构建一些宏逻辑 . 我在这里查看了很多例子(令人难以置信!),但没有发现任何足够接近我需要做的事情......我知道它可能只需要几行代码 - 这使得它更令人沮丧 . 有人可以请我走上正轨吗?

我有一张有两张纸的单一工作簿 . Sheet1包含一个长列表(约25k行,但可变)的产品详细信息 . 列A具有产品ID,然后列B到G包含每个产品的特定详细信息 . Sheet2类似,同样具有A列中的产品ID和B列到E列中的(不同)属性.Pheet2更小,大约100行(也是可变的) .

我需要做的是遍历Sheet2中的产品(行),在Sheet1中找到相应的产品ID,并将Sheet1(B到G)中的产品属性复制/粘贴到Sheet2(现有属性的右侧,所以从我的例子中的F列开始) - 有效地合并Sheet2中的所有产品属性 .

如果你们其中一个wizzards可以提供骨架代码,我将非常感激....

1 回答

  • 0

    从两个工作表中设置两个范围,循环访问它们并在产品ID中查找匹配项,然后将值从第一个工作表复制到第二个工作表中 . 同时更换范围以符合您的条件 .

    Sub search()
    Dim cell As Range, rng As Range, rng2 As Range, cell1 As Range, n As Integer, m As  Integer
    Set rng = Sheet1.Range("A2:A9")
    Set rng2 = Sheet2.Range("A2:A3")
    
    n = 1
    m = 1
    For Each cell In rng
        n = n + 1
    For Each cell1 In rng2
        m = m + 1
            If cell.Value = cell1.Value Then
                Sheets("Sheet2").Range("F" & m & ":J" & m).Value = Sheets("Sheet1").Range("B" & n & ":F" & n).Value
            End If
        Next cell1
        m = 1
    Next cell
    End Sub
    

相关问题