我在VBA初学者,我一直在抓我的头,整天试图找出什么是错我的代码:下标越界,数组变量
Sub DataTransfer():
Dim position As Integer, location (1 To 9) As String
location(1) = "BC"
location(2) = "Calgary"
location(3) = "Edmonton"
location(4) = "Major Projects"
location(5) = "Minneapolis"
location(6) = "Saskatchewan"
location(7) = "Seattle"
location(8) = "Toronto"
location(9) = "Winnipeg"
For position = 1 To 9
Worksheets(location(position)).Select
Cells(1, 2).Value = location(position)
Next position
End Sub
编辑:很抱歉的不确定性我的问题。我最终想要做的是实际上能够将第三条最后一行(将城市名称写入工作表)更改为我想要的任何函数,以便按照我认为合适的方式修改工作表。这实际上是我开始解决问题的一个更大的子程序的一部分。这些工作表散布在其他工作表之间,所以不幸的是,@ nutsch的解决方案不会真正实现我想要的(但是要感谢任何一种方式)。
我遇到的最大问题是,这个确切的代码有时会按预期工作,其他时间会在第四行返回“下标超出范围”错误。
你确定所有的工作表命名正确吗? – nutsch
你得到这个错误是哪一行? – TMH8885
欢迎来到Stack Overflow!我编辑过你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –