2017-06-05 158 views
-3

我已经声明变量“数组”,但它说变量是未声明的。它不会自动填充“数组”,当我键入,所以我认为我的项目文件被塞?我在视觉工作室2015年,如果有帮助任何帮助将是伟大的Screen Shot of codeVB没有声明变量

+0

我怀疑这是否是VBA,如果你是使用Visual Studio,因此将标记更改为[vb.net] – YowE3K

+0

[请不要将您的代码作为图像发布。](// meta.stackoverflow.com/q/285551) –

回答

1

您可以在类级别声明变量/过程,但不能在其中修改或执行任何操作。

这是无效

Public Module Stuff 
    Public array(147) As String 'VALID. Declarations can be performed at class level. 
    array(0) = "Hello" 'INVALID. Modifications can not be performed at class level. 
End Module 

这是有效

Public Module Stuff 
    Public array(147) As String 

    Public Sub FillArray() 
     array(0) = "Hello" 
    End Sub 
End Module 

但是,您可以初始化一组值的数组,如果你想:

Public Module Stuff 
    Public array() As String = New String(147) {"Hello", "Item 1", "Blabla", ...} 'VALID. 
End Module 

如果你w蚂蚁循环和条件添加到您的初始化,您正在使用的Visual Basic 10.0以上,您可以使用Lambda Expressions创建一个内联函数:

Public Module Stuff 
    Public array(147) As String = _ 
     Function() 
      Dim Result(147) As String 
      For x = 0 To Result.Length - 1 
       Result(x) = "Item " & x 
      Next 
      Return Result 
     End Function.Invoke() 

End Module 
+0

好吧,欢呼声。你真的救了我。 –

+0

@ChrisS:如果这解决了您的问题,请按下我的帖子左侧的勾号/复选标记将其标记为接受的答案。 - 欲了解更多信息,请参阅:[**如何接受答案工作?**](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

1

Array是VBA中的保留字。
尝试Public arr(137) As String

+0

这不是VBA。他在Visual Studio 2015中使用了VB.NET,而'Array'在那里是一个有效的名字。 –

+0

@Visual Vincent它被标记为VBA问题 –

+0

是的,但是它在您发布答案之前进行了编辑,所以我假设答案太短以至于在编辑之前您不会启动它。抱歉。 :) –