2017-06-05 206 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

是的,但是它在您發佈答案之前進行了編輯,所以我假設答案太短以至於在編輯之前您不會啓動它。抱歉。 :) –