2012-11-10 103 views
2

有沒有辦法時,我想這樣做:Visual Basic中 - 變量名自動遞增/循環

textbox1.text = x + i 
textbox2.text = x + i 
textbox3.text = x + i 

爲了例如像這樣的嗎?

for l = 0 to 2 
    textbox(l) = x + i 
next 
+1

歡迎堆棧溢出。請不要使用回答部分詢問後續問題。請編輯您的問題或添加評論給我的答案。我很高興我的答案適用於您的原始問題。我還沒有使用PictureBox控件,所以不知道問題是什麼。我注意到的一件事是你在'ImagemPictureBox'中有一個額外的「m」,我想。 –

+0

我認爲它應該是'ImagePictureBox.Picture'。 –

+0

是的,我有一個「M」在這,因爲這是一個變量,因爲IM葡萄牙等等 - > IMAGEM =圖像的xD – Cenas

回答

6

假設這些控件是一個窗體裏面,這樣做:

Private Sub FillTextboxes() 
    Dim i As Long 
    Dim x As Long 

    x = 10 
    For i = 0 To 2 
     Me.Controls("textbox" & i + 1).Text = x + i 
    Next i 
End Sub 
+0

爲什麼你使用'Long's?這似乎...過度。 (你不必申報'i'提前,無論是。) – Ryan

+1

@minitech根據[MSDN](http://msdn.microsoft.com/en-us/library/office/aa164754%28v=office .10%29.aspx):「VBA將所有整數值轉換爲Long類型,即使它們被聲明爲Integer類型。因此,使用Integer變量不再具有性能優勢;實際上,Long變量可能稍微快一點因爲VBA不必轉換它們。「除非你認爲這是.Net,否則不確定你的意思是「提前聲明」。你爲什麼要縮進我的代碼。這似乎...挑剔。 –

+0

感謝它的工作就好了:d – Cenas