Страницы: 1
RSS
Программное удаление записей в ListBox Combobox
 
Пытаюсь программно удалить записи из ListBox (несколько столбцов) на основании выбора значения в Combobox  
http://www.planetaexcel.ru/forum.php?thread_id=14804  
 
Курил сайт П.Ю.Климова, справку – не помогло   
По справке перед удалением ИСТИНА ОБЪЕКТ ИНДЕКС  
С помощью сайта создал конструкцию – но не работает.  
ListBox = frmReg.lbAuto  
For iCount = frmReg.lbAuto.ListCount - 1 To 1 Step -1  
   If frmReg.lbAuto.List(iCount, 11) <> frmReg.ComboBox1.Value Then  
      lbAuto.RemoveItem iCount    
   End If  
 
И еще – можно ли сразу присвоить значения?  
lbAuto.List = iMassiv()  
или очистить листбокс?  
ЗЫ ОФИС2007
 
http://forum.msexcel.ru/microsoft_excel/listboxcombobox-t3209.0.html  
 
смотреть на свои сообщения на других форумах уже не модно?
 
Андрей, немного не в кассу:)    
Это не мое сообщение:)  
А меня действительно интересует как добавлять - удалять и менять записи.
 
меня ввела заблуждение абсолютная идентичность выложенных примеров) Извините)  
 
ну в той теме я ответил - взгляните
 
Игорь, разговор только о ListBox, сам лист остаётся без изменений?
 
{quote}{login=Igor67}{date=31.03.2010 05:47}{thema=Программное удаление записей в ListBox Combobox}{post}Пытаюсь программно удалить записи  
      lbAuto.RemoveItem iCount    
{/post}{/quote}Думаю имелось ввиду не удалить, а очистить некоторые из записей.  
 
If frmReg.lbAuto.List(iCount, 11) <> frmReg.ComboBox1.Value Then lbAuto.List(iCount, 11) = ""  
 
Однако, если Данные ЛистБокса заданы через RowSourse такой метод не прокатит - необходимо удалять данные с листа, либо заполнять ЛистБокс из массива.  
 
По поводу заполнить из массива  
iMassiv = Range("A1:C10")  
bAuto.List = iMassiv  
 
очищаем  
bAuto.clear
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо за ответы.  
Разобрался в причинах - заполнение листбокса через RowSourse не давало изменять значения. Изменил способ заполнения и что то похожее получилось.  
Решил через массивы, показалось удобней контролировать занесение значений:)  
Вариант на всякий случай, вдруг еще кто -то будет искать.
 
Я совсем недавно делал нечто подобное. Там списки свободных/занятых людей. Из одного ЛистБокса в другой перебрасывал. Использовал RowSource - именованный динамический. Выкрутился так - по изменённому ЛистБоксу строил новый диапазон на листе. Пришлось два цикла задействовать, но они малюсенькие.
Страницы: 1
Наверх