Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Исключение из ComboBox ранее выбранного значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Исключение из ComboBox ранее выбранного значения (Макросы/Sub)
Исключение из ComboBox ранее выбранного значения
Sashagor1982 Дата: Воскресенье, 14.11.2021, 22:38 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Добрый день, необходимо очистить выпадающий список ComboBox, но при этом необходимо сохранить значение, в приложенном файле-примере использована функция
[vba]
Код
Do While Me.Controls("ComboBox_" & CStr(num)).ListCount > 0
            Me.Controls("ComboBox_" & CStr(num)).RemoveItem (0)
         Loop
[/vba]
Однако возникает ошибка Unspecified error, каким образом необходимо поправить код, для того чтобы исключить ошибку?
К сообщению приложен файл: 8354399.xlsm (28.7 Kb)


Сообщение отредактировал Sashagor1982 - Понедельник, 15.11.2021, 22:37
 
Ответить
СообщениеДобрый день, необходимо очистить выпадающий список ComboBox, но при этом необходимо сохранить значение, в приложенном файле-примере использована функция
[vba]
Код
Do While Me.Controls("ComboBox_" & CStr(num)).ListCount > 0
            Me.Controls("ComboBox_" & CStr(num)).RemoveItem (0)
         Loop
[/vba]
Однако возникает ошибка Unspecified error, каким образом необходимо поправить код, для того чтобы исключить ошибку?

Автор - Sashagor1982
Дата добавления - 14.11.2021 в 22:38
doober Дата: Воскресенье, 14.11.2021, 23:46 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Нельзя удалить выбранный элемент в комбике.
Надо учесть, что будет такая ошибка.[vba]
Код
     On Error Resume Next
        If (Me.Controls("ComboBox_" & CStr(num)).ListCount <> 0) Then
            For i = Me.Controls("ComboBox_" & CStr(num)).ListCount - 1 To 0 Step -1
                Me.Controls("ComboBox_" & CStr(num)).RemoveItem i
            Next
        End If
        
        Err.Clear
        On Error GoTo 0
[/vba]


 
Ответить
СообщениеНельзя удалить выбранный элемент в комбике.
Надо учесть, что будет такая ошибка.[vba]
Код
     On Error Resume Next
        If (Me.Controls("ComboBox_" & CStr(num)).ListCount <> 0) Then
            For i = Me.Controls("ComboBox_" & CStr(num)).ListCount - 1 To 0 Step -1
                Me.Controls("ComboBox_" & CStr(num)).RemoveItem i
            Next
        End If
        
        Err.Clear
        On Error GoTo 0
[/vba]

Автор - doober
Дата добавления - 14.11.2021 в 23:46
Sashagor1982 Дата: Понедельник, 15.11.2021, 07:03 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
doober, Err в вашем примере это что?
 
Ответить
Сообщениеdoober, Err в вашем примере это что?

Автор - Sashagor1982
Дата добавления - 15.11.2021 в 07:03
doober Дата: Понедельник, 15.11.2021, 08:14 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010


 
Ответить
СообщениеErr

Автор - doober
Дата добавления - 15.11.2021 в 08:14
Sashagor1982 Дата: Понедельник, 15.11.2021, 22:27 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
doober, Вот работающая программа, однако не могу понять, с каждым последующим ComboBox увеличивается скорость работы, не можете взглянуть в чем дело
К сообщению приложен файл: 2504077.xlsm (28.8 Kb)
 
Ответить
Сообщениеdoober, Вот работающая программа, однако не могу понять, с каждым последующим ComboBox увеличивается скорость работы, не можете взглянуть в чем дело

Автор - Sashagor1982
Дата добавления - 15.11.2021 в 22:27
doober Дата: Понедельник, 15.11.2021, 23:34 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Видно невооруженным глазом. Зачем эта байда[vba]
Код
Sub reListing(numer As Integer)
    Dim i As Integer
    For i = 1 To 10
        Call Zapolnenie(i)
    Next
End Sub
[/vba]
Уберите Call reListing(10) , замените на Call Zapolnenie(10).
Где 10 -это номер соответствующего комбика.


 
Ответить
СообщениеВидно невооруженным глазом. Зачем эта байда[vba]
Код
Sub reListing(numer As Integer)
    Dim i As Integer
    For i = 1 To 10
        Call Zapolnenie(i)
    Next
End Sub
[/vba]
Уберите Call reListing(10) , замените на Call Zapolnenie(10).
Где 10 -это номер соответствующего комбика.

Автор - doober
Дата добавления - 15.11.2021 в 23:34
Sashagor1982 Дата: Вторник, 16.11.2021, 06:41 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Ну надо же перезагрузить все ComboBox
 
Ответить
СообщениеНу надо же перезагрузить все ComboBox

Автор - Sashagor1982
Дата добавления - 16.11.2021 в 06:41
Sashagor1982 Дата: Вторник, 16.11.2021, 07:38 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Проблема была в добавлении имеющегося значения, вот работающий вариант
К сообщению приложен файл: 1206878.xlsm (27.7 Kb)


Сообщение отредактировал Sashagor1982 - Вторник, 16.11.2021, 07:38
 
Ответить
СообщениеПроблема была в добавлении имеющегося значения, вот работающий вариант

Автор - Sashagor1982
Дата добавления - 16.11.2021 в 07:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Исключение из ComboBox ранее выбранного значения (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!