2014-12-26 45 views
0

圣诞快乐全部。我是VBA的新手,擅长这方面的工作。我只知道如何用python编程。我试图创建一个相当长的宏,但遇到了很多问题。首先,我想创建一个长度等于所选单元格长度的零数组。我认为这将做到这一点(这里的数组被称为“分割”):VBA:创建一个长度等于选择长度的零的数组

Sub mymacro() 

    Dim Split(Selection.Rows.Count) As Integer 

End Sub 

,但我得到的错误“预期的恒定值”。我该怎么做?欢呼声

+0

查看http://stackoverflow.com/questions/4326678/dynamically-dimensioning-a-vba-array –

+0

你是什么意思的“零数组”? –

+0

“一个零数组”我的意思是一个数组,其中每个元素都是零。 – PickledNoob

回答

1

您可以在代码中稍后使用ReDim声明。

Sub mymacro() 
Dim Split() As Integer 
... 
'in the code body 
ReDim Split(Selection.Rows.Count) As Integer 
End Sub 

两个一般性建议:

  1. 不要使用 “分割”​​ 作为变量名。这是一个VBA函数名称。
  2. 请勿将变量声明为Integer。改为使用Long。在这种情况下,它实际上是必需的,因为Integer无法处理工作表中的行数。
+0

谢谢!感谢您的有用建议。 – PickledNoob

+0

不客气。欢迎来到SO! –