将值从工作表“数据存储” A1复制到工作表“ 1” D4 ...“数据存储” A2复制到工作表“ 2”,依此类推

时间:2018-08-05 11:38:28

标签: excel vba excel-vba

我在一个工作表上有一个列表,该列表称为“数据存储区”,具有大约180个值。同一张excel文件大约有180张,名称分别为“ 1”,“ 2”,“ 3”,...“ 180”。 我想将值A1从“数据存储”复制到表“ 1” D4,值A2从“数据存储”复制到表“ 2” D4,将A3从“数据存储”复制到表“ 3” D4,依此类推。 从“数据存储区”到表“ 1”的单元格D6的值B1,依此类推

我尝试了for循环:

Sub CopyPasteMacro()
Dim iCounter As Integer
Dim iCounterString As String
Dim iCounterStringA As String

For iCounter = 1 To 180
iCounterStringA = "A" + CStr(iCounter)
iCounterString = CStr(iCounter)


Worksheets("datastore").Range(iCounterStringA).Value = 
Worksheets(iCounterString).Range("D4").Value
Next iCounter
End Sub

它告诉我“索引超出有效范围”

我是VBA的初学者 有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

为了防止代码停止,您可以检查工作表是否存在

(async () => {
    // ... await and other async code here
})();

答案 1 :(得分:0)

假设您的所有工作表都存在。

Sub CopyValue()

For i = 1 To 180

Worksheets(CStr(i)).Range("D4").Value = Worksheets("datastore").Range("A" & i).Value

Next

End Sub