首页 > 解决方案 > 是否可以有条件地循环从excel工作簿中的一个工作表到另一个工作表中的一个表/一组值?

问题描述

我有一个包含各种数据表的 excel 工作簿,我正在尝试编写一个公式,将信息从一张表填充SheetA到另一张表中SheetB

问题是SheetA定期更新,并且当它是表的顺序发生变化时。表格大小为 12x16 (RXC),带有标题,最左侧列上的前 2 个包含两个标识符标签/分类变量,用于区分右侧单元格中的所有数值。第一列中只有 2 个不同的标签,第二列中只有 6 个(总共 11 个唯一组合)。

鉴于表格的顺序SheetA总是在变化,任何人都可以建议一个我可以用来将表格中的值获取到特定单元格中的 excel 公式SheetB

我试着用 VBA 来做这件事:


Sub formular()

Dim name As Range
Dim produce As Range
Dim TV As Worksheet
Dim TV_UPDATED Worksheet
Dim TV_UPDATED2 As Worksheet
Dim Wokbuk As Workbook


Set Wokbuk = Workbooks("BookofWok.xlsx")
Set TV = Workbooks("BookofWok.xlsx").Worksheets("TV Summary")
Set TV_UPDATED = Workbooks("BookofWok.xlsx").Worksheets("U1")
Set TV_UPDATED2 = Workbooks("BookofWok.xlsx").Worksheets("U2")

For Each name In U1.Range("a2:a12")
    If name.Value = "reezy plc" Then
        For Each produce In U1.Range("b2:b12")
            If produce.Value = "duce1" Then
                U1.Range("D4") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce2" Then
                U1.Range("D6") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce3" Then
                U1.Range("D7") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce4" Then
                U1.Range("D8") = produce.Address().Offset(0, 1)
            End If
    Next produce
    Elseif name.value = "yung plc" Then
        For Each produce In U2.Range("b2:b12")
            If produce.Value = "duce1" Then
                U2.Range("D4") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce2" Then
                U2.Range("D6") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce3" Then
                U2.Range("D7") = produce.Address().Offset(0, 1)
            Elseif produce.value = "duce4" Then
                U2.Range("D8") = produce.Address().Offset(0, 1)
            Elseif produce.value = "" Then
                U2.Range("D9") = produce.Address().Offset(0, 1)
            End If

        Next
    End If
Next
End Sub


但我在“produce.address”处收到“编译错误:无效的限定符”。谁能告诉我哪里出错了?

标签: excel

解决方案


推荐阅读