Получение ценностей во Мне.из цикла «Для каждого» - PullRequest
0 голосов
/ 18 июля 2011

У меня есть некоторые проблемы ... Я новичок в VBA.Итак ... у меня есть небольшое приложение, у которого есть куча ComboBox ... большинство из них имеют те же значения, что и Range в Excel.Поэтому я хочу получить значения в комбинированных списках с небольшим кодом, и вот оно

Dim rep As Range
Dim cbox As Range
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")

For Each rep In ws.Range("Repere")
  For Each cbox In ws2.Range("cboxs")
    With Me.cbox.Value
    .AddItem rep.Value
    End With
  Next cbox
Next rep

Проблема в том, что эта вещь не работает ... кажется, что Me.cbox.Value неправильный.Что я хочу сделать с Me.cbox.Value - это иметь что-то вроде Me.Combobox1, Me.Combobox2, Me.Combobox3 и т. Д. ... в Range cboxs - имена Comboboxes ... Итак, я хочузагрузить данные из диапазона «Repere» в каждом Combobox ... (у меня есть около 40 в приложении) Большое спасибо!

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Мне кажется, что вы не должны использовать свойство value.Вы намерены использовать метод addItem в выпадающем списке из цикла for, но вы пытаетесь вызвать метод в Me.cbox.Value.Это должно быть

For Each cbox In ws2.Range("cboxs")
  Me.Controls(cbox.Value).AddItem rep.Value "<-----no need for the with bloc at all
  End With
Next cbox

удачи!

0 голосов
/ 18 июля 2011

Попробуйте With Me.Controls(cbox.Value).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...