2014-09-30 255 views
1

我試圖循環訪問一列數據並更改文本boxt以顯示結果數據。目前這是我的代碼Excel迭代循環VBA

For index = 0 To 34 Step 1 
    Me.txtLat.Text = ws.Range("F3") 
    Me.txtLong.Text = ws.Range("G3") 
Next index 

但是,我希望「F3」更改爲「F4」,「F5」等取決於索引。我相信它很簡單,只是有一個嚴重的腦部抽筋。

我曾嘗試以下,但它沒有工作

For index = 0 To 34 Step 1 
    Me.txtLat.Text = ws.Range("F3+index") 
    Me.txtLong.Text = ws.Range("G3+index") 
Next index 

我想我需要隔離的行數,但不知道如何...幫助!

回答

0

你接近,但你需要將index可變串連像這樣的字符串:

For index = 3 To 34 Step 1 
    Me.txtLat.Text = ws.Range("F" & index).value 
    Me.txtLong.Text = ws.Range("G" & index).value 
Next index 

但是,這是一個文本框,所以你將只顯示最後一個值。


如果你想將項目添加到列表中的組合框試試這個:

For index = 3 To 34 Step 1 
    Me.txtLat.AddItem = ws.Range("F" & index).value 
    Me.txtLong.AddItem = ws.Range("G" & index).value 
Next index 

您也可能會發現,你需要先清除它,這樣你就不會得到重複的名單。

Me.txtLat.Clear 
+0

如果我想從第三行開始,它將是索引+3? – rlw2235 2014-09-30 17:28:12

+0

好問題,我已經編輯了答案。你可以做到這一點,或者你可以改變你的開始索引到三(第二個例子)。 – 2014-09-30 17:31:25

+0

這是返回循環的最後一個值...也許我正在使用錯誤的循環...我試圖返回一個值,這取決於返回的索引。我有一個組合框,當選擇取決於選擇什麼我想返回列表索引並引用該列中的數字 – rlw2235 2014-09-30 17:34:28