编译分配给数组的错误 – VBA(Excel)

我想给一个Integer数组赋值,但是却得到了一个编译时错误。

这是我的代码:

Private Sub A() Dim i As Integer Dim Width(3) As Integer Dim TempArray As Variant TempArray = Array(12, 6, 12, 5) For i = 0 To 3 Width (i) = CInt(TempArray(i)) Next i End Sub 

错误在这一行:

 Width (i) = CInt(TempArray(i)) 

错误消息是:“编译错误。预期:#”。

我不知道这个说法有什么问题。 我用了保留字吗? 我是VB新手,但我确实需要帮助。 提前致谢。

你的评论让我多了一点研究。 Width不仅仅是一个Excel保留字,就像在Column.Width 。 它实际上是一个VBA语句,它与写入文本文件有关,它需要为输出打开一个文件的编号。

以下是Excel 2010 VBA帮助文本:

宽度#语句

将输出行宽分配给使用Open语句打开的文件。

句法

宽度#文件编号,宽度

宽度#语句语法包含以下部分:

部分描述filenumber必需。 任何有效的文件号码。 宽度必需。 数字expression式的范围是0-255(含),表示在新行开始之前,行中出现了多less个字符。 如果宽度等于0,则对线的长度没有限制。 宽度的默认值是0。

示例此示例使用Width#语句来设置文件的输出行宽度。

 Dim I Open "TESTFILE" For Output As #1 ' Open file for output. VBA.Width 1, 5 ' Set output line width to 5. For I = 0 To 9 ' Loop 10 times. Print #1, Chr(48 + I); ' Prints five characters per line. Next I Close #1 ' Close file.