Excel VBA - 表格列中的每个值粘贴到同一张表的另一列中列出的位置

Excel VBA - 表格列中的每个值粘贴到同一张表的另一列中列出的位置

我制作了一个我正在使用的电子表格的简化版本的示例。Sheet2 上有一张三列表。第一列是描述,第二列是值,第三列是我希望将值复制到的位置。我想要一个宏,它将 VALUE 列中的每个值复制并粘贴到 CELL 列中的位置,并对表格中的每一行执行此操作。

此表:

类别 价值 细胞
高度 5 工作表1!C5
宽度 10 工作表1!G8
长度 8 工作表1!F15
直径 1.5 表1!K7
颜色 蓝色的 工作表1!F22

填充这些单元格:

CELL 列中的每个位置都将位于同一工作簿的不同工作表上。单元格位置将在我正在处理的电子表格上不断变化,并进行不同的更新。

如果 VALUE 列中的其中一行是空白的,我需要它跳过该行,而不是在 CELL 位置放置空白,而是跳过该行并转到下一行。

我希望表格列可以通过名称引用。表格将不断需要更新,所以我可能必须删除一些行或添加一些行,并且不想每次都更新 VBA 代码。

答案1

Sub copy_values()
    Dim src As Variant

    For Each src In Range("A2:A6")
        If src.Offset(0, 1).Value <> "" Then
            Range(src.Offset(0, 2).Value).Value = src.Offset(0, 1).Value
        End If
    Next src
End Sub

相关内容