2014-09-30 5 views
1

Я пытаюсь пропустить столбец данных и изменить текстовый текст для отображения полученных данных. В настоящее время это мой кодExcel Iterate Loop 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

+0

Хороший вопрос, я отредактировал ответ. Вы можете это сделать, или вы можете просто изменить начальный индекс на три (второй пример). –

+0

это возвращает последнее значение цикла ... возможно, я использую неправильный цикл ... Я пытаюсь вернуть значение в зависимости от возвращаемого индекса. У меня есть поле со списком, и, когда он выбран в зависимости от того, что выбрано, я хочу вернуть индекс этого списка и указать его в столбце – rlw2235