2016-10-05 7 views
0

я должен определить имя для моих данных, поэтому, когда я ставлю новые данные в своей камере, он будет также включен на моем автозаполнении кодаExcel VBA автозаполнение и источник диапазон ячеек

имени ячейки идента

=OFFSET(DataSource!$A:$A,1,0,COUNTA(DataSource!$A:$A)-1,1) 

Это мой код для автозаполнения на поле со списком

Private Sub UserForm_Initialize() 
UserForm1.Label1 = Date 
For Each blah In [ident] 
    UserForm1.ComboBox4.AddItem blah 
Next blah 

End Sub 

Im получаю сообщение об ошибке, переменная не определяет и особо "л"

+1

У Вас есть опция 'Explicit' в вашем модуле (это будет первая линия, если Это здесь). Если это так, то это хорошо, но вам нужно добавить 'Dim blah как Variant' к вашему подпункту –

ответ

1

Крис Нильсен, вероятно, прав. В основном вы, скорее всего, должны иметь Option Explicit в верхней части модуля пользовательской формы, для которого требуется декальцировать blah.

Private Sub UserForm_Initialize() 
    Dim blah As Variant 
    UserForm1.Label1 = Date 
    For Each blah In [ident] 
     UserForm1.ComboBox4.AddItem blah 
    Next blah 

End Sub 

Вот два способа, которые можно определить диапазон:

For Each blah In [OFFSET(DataSource!$A:$A,1,0,COUNTA(DataSource!$A:$A)-1,1)]

For Each blah In Range("OFFSET(DataSource!$A:$A,1,0,COUNTA(DataSource!$A:$A)-1,1)")