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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение и очистка Combobox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение и очистка Combobox (Макросы/Sub)
Заполнение и очистка Combobox
joelynnturner Дата: Пятница, 07.08.2015, 05:23 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Добрый день.
В VBA новичек, прошу помощи. Есть макрос для заполyения Combobox:

[vba]
Код
Private Sub dobav_VMRP_ob()
For Each c In Worksheets(2).Range("A4:A44")
If VarType(c) <> vbEmpty Then Лист1.ComboBox1.AddItem (c)
Next c
For Each c In Worksheets(2).Range("L4:L46")
If VarType(c) <> vbEmpty Then Лист1.ComboBox2.AddItem (c)
Next c
For Each c In Worksheets(2).Range("B2:H2")
If VarType(c) <> vbEmpty Then Лист1.ComboBox3.AddItem (c)
Next c
End Sub
[/vba]

Также есть макрос для очистки Combobox:

[vba]
Код
Private Sub ochistka_ob()
For i = 1 To ComboBox1.ListCount
ComboBox1.RemoveItem 0
Next i
For i = 1 To ComboBox2.ListCount
ComboBox2.RemoveItem 0
Next i
For i = 1 To ComboBox3.ListCount
ComboBox3.RemoveItem 0
Next i
End Sub
[/vba]

Дело в том, что в зависимости от условия, данный Combobox будет заполняться разными данными (из разных диапазонов ячеек), перед этом очищаясь.
Первый раз заполняется нормально, но при выборе другого условия, после очистки, он пишет Permissions Denied на строке:

If VarType© <> vbEmpty Then Лист1.ComboBox1.AddItem ©

т.е. при добавлении других элементов в Combobox.

Прошу помощи.
[moder]Оформляйте коды тегами (кнопка #). Исправила[/moder]


Сообщение отредактировал Pelena - Пятница, 07.08.2015, 06:47
 
Ответить
СообщениеДобрый день.
В VBA новичек, прошу помощи. Есть макрос для заполyения Combobox:

[vba]
Код
Private Sub dobav_VMRP_ob()
For Each c In Worksheets(2).Range("A4:A44")
If VarType(c) <> vbEmpty Then Лист1.ComboBox1.AddItem (c)
Next c
For Each c In Worksheets(2).Range("L4:L46")
If VarType(c) <> vbEmpty Then Лист1.ComboBox2.AddItem (c)
Next c
For Each c In Worksheets(2).Range("B2:H2")
If VarType(c) <> vbEmpty Then Лист1.ComboBox3.AddItem (c)
Next c
End Sub
[/vba]

Также есть макрос для очистки Combobox:

[vba]
Код
Private Sub ochistka_ob()
For i = 1 To ComboBox1.ListCount
ComboBox1.RemoveItem 0
Next i
For i = 1 To ComboBox2.ListCount
ComboBox2.RemoveItem 0
Next i
For i = 1 To ComboBox3.ListCount
ComboBox3.RemoveItem 0
Next i
End Sub
[/vba]

Дело в том, что в зависимости от условия, данный Combobox будет заполняться разными данными (из разных диапазонов ячеек), перед этом очищаясь.
Первый раз заполняется нормально, но при выборе другого условия, после очистки, он пишет Permissions Denied на строке:

If VarType© <> vbEmpty Then Лист1.ComboBox1.AddItem ©

т.е. при добавлении других элементов в Combobox.

Прошу помощи.
[moder]Оформляйте коды тегами (кнопка #). Исправила[/moder]

Автор - joelynnturner
Дата добавления - 07.08.2015 в 05:23
wild_pig Дата: Пятница, 07.08.2015, 06:24 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Доброе утро.
Приложите файл-пример, оформляйте код тегами (#)
[vba]
Код
For i = 1 To 3
     Me.Controls("ComboBox" & i).Clear
Next
[/vba]


Сообщение отредактировал wild_pig - Пятница, 07.08.2015, 06:29
 
Ответить
СообщениеДоброе утро.
Приложите файл-пример, оформляйте код тегами (#)
[vba]
Код
For i = 1 To 3
     Me.Controls("ComboBox" & i).Clear
Next
[/vba]

Автор - wild_pig
Дата добавления - 07.08.2015 в 06:24
joelynnturner Дата: Пятница, 07.08.2015, 06:40 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Спасибо за внимание.

Удалено. Нарушение Правил форума - файл, по размеру не влез.


Сообщение отредактировал Pelena - Пятница, 07.08.2015, 06:46
 
Ответить
СообщениеСпасибо за внимание.

Удалено. Нарушение Правил форума - файл, по размеру не влез.

Автор - joelynnturner
Дата добавления - 07.08.2015 в 06:40
wild_pig Дата: Пятница, 07.08.2015, 07:44 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Для листа
[vba]
Код
With Sheets("РАСЧЕТ СТАВКИ")
      .ComboBox1.Clear
      .ComboBox2.Clear
      .ComboBox3.Clear
End With
[/vba]


Сообщение отредактировал wild_pig - Пятница, 07.08.2015, 07:45
 
Ответить
СообщениеДля листа
[vba]
Код
With Sheets("РАСЧЕТ СТАВКИ")
      .ComboBox1.Clear
      .ComboBox2.Clear
      .ComboBox3.Clear
End With
[/vba]

Автор - wild_pig
Дата добавления - 07.08.2015 в 07:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение и очистка Combobox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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