powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Имя combobox как переменная
8 сообщений из 8, страница 1 из 1
Имя combobox как переменная
    #38392481
Ярослав...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, столкнулся с проблемой на VBA. Есть форма, на ней динамически создаются combobox-ы. Дальше относительно того, какие .Value выбраны, я копирую определенный диапазон ячеек с одного листа на другой. Как правильно сделать имя combobox-а переменной CBName , а дальше циклом их все перебрать

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub CommandButton1_Click()
Dim CBName As MSForms.ComboBox

    For Each CBName In Me.Controls
        Select Case CBName .Value
            Case "2.1.Ø=300 ìì"
                Sheets("test").Select
                Range("W_300").Select
                Call CopyPaste
            Case "2.2.Ø=450 ìì"
                Sheets("test").Select
                Range("W_450").CurrentRegion.Select
                Call CopyPaste
            Case "2.3.Ø=600 ìì"
                Sheets("test").Select
                Range("W_600").CurrentRegion.Select
                Call CopyPaste
             Case "2.4.Ø=750 ìì"
                Sheets("test").Select
                Range("W_750").CurrentRegion.Select
                Call CopyPaste
             Case "2.5.Ø=450 ìì"
                Sheets("test").Select
                Range("W_450_2").CurrentRegion.Select
                Call CopyPaste
        End Select
    Next
End Sub
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392505
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так
Код: vbnet
1.
2.
3.
For i=1 To 20
  Select Case Me.Controls("MyCombo"+CStr(i)).Value
  ....
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392522
Ярослав...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное!!! Работает как надо, но почему то в конце выдает ошибку - Could not find specified object. Ругается на эту строку
Код: vbnet
1.
Select Case Me.Controls("MyCombo"+CStr(i)).Value


Как избавится от этой ошибки?
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392588
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так надо правильно указать диапазон для i
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392609
Ярослав...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
i у меня сделана глобальной переменной, и приращение идет в подфункции где идет добавление combobox-ов
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub Add_Combobox()
Dim cbo As MSForms.ComboBox
    
    Set cbop = Me.Controls.Add("Forms.ComboBox.1", "cbop", True)
        With cbop
            .Name = "ComboBoxPanel" & i
            .Left = 20
            .Top = il
            .Width = 150
            .AddItem shtOfferQuotation1.Range("W_300")
            .AddItem shtOfferQuotation1.Range("W_450")
            .AddItem shtOfferQuotation1.Range("W_600")
            .AddItem shtOfferQuotation1.Range("W_750")
            .AddItem shtOfferQuotation1.Range("W_450_2")
        End With
    Set cbor = Me.Controls.Add("Forms.ComboBox.1", "cbor", True)
        With cbor
            .Name = "ComboBoxRack" & i
            .Left = 210
            .Top = il
            .Width = 250
            .AddItem shtOfferQuotation1.Range("M_Rack")
            .AddItem shtOfferQuotation1.Range("T_Rack")
        End With
    il = il + 25
    i = i + 1
End Sub
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392619
Ярослав...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения не вижу где можно отредактировать сообщение, опечатался, в подфункции
Код: vbnet
1.
2.
3.
4.
5.
Private Sub CommandButton1_Click()
..
 For x = 1 To i
...
end sub
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392627
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так правильно, если вы добавили, скажем, 15 комбобоксов, то чему у вас будет равна i???
...
Рейтинг: 0 / 0
Имя combobox как переменная
    #38392643
Ярослав...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Айайай, приношу извинения за невнимательность, Спасибо большое за помощь!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Имя combobox как переменная
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]