我在一个工作表上有一个列表,该列表称为“数据存储区”,具有大约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的初学者 有人可以帮助我吗?
答案 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