Я использую цикл для заполнения коллекции. Существует несколько свойств для каждого элемента коллекции, но некоторые из этих свойств являются необязательными. Пользователю предлагается выбрать, какие свойства будут скопированы в коллекцию. Можно ли опустить код для необязательных свойств, если пользователь решил их игнорировать?
Sub fillcoll()
Dim coll as Collection
Set coll = New Collection
Dim NewItem as Class1
For each r in Selection.Rows
Set NewItem = New Class1
If Userform1.Checkbox1.Value = True then
NewItem.Property1 = somearray1(r.Row)
End If
If Userform1.Checkbox2.Value = True then
NewItem.Property2 = somearray2(r.Row)
End If
If Userform1.Checkbox3.Value = True then
NewItem.Property3 = somearray3(r.Row)
End If
Next r
End Sub
С этим кодом значения Checkboxes читаются на каждой итерации. Я боюсь, что это может замедлить выполнение программы без необходимости. Флажки могут быть прочитаны один раз, и содержимое цикла будет адаптироваться к значениям флажков. Возможно ли это?
Заранее спасибо.