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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление элемента из Combobox после добавления на лист - Мир MS Excel

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

Excel 2007
Здравствуйте! Занимаюсь совсем недавно VBA, поэтому возникла проблемка...
У меня есть на форме Combobox, который я заполняю числами от 0 до 31 с помощью кода

[vba]
Код
For i = 0 To 31
     Spisok.AddItem i
Next
[/vba]

Далее я по кнопке добавляю выбранные числа из этого комбобокса в ячейки Excel так, что в ячейках A пишется слово "Совпадение", а в ячейке B - выбранная цифра из комбобокса. Так вот задача следующего плана - необходимо после добавления чисел в ячейки убрать эти числа из Combobox, чтобы можно было добавлять только уникальные числа (без повторений).

Я решил при открытии формы анализировать есть ли символы "Совпадение" в диапазоне ячеек A6:A500 и если есть, то запомнить число из ячейки B и не заносить больше в Combobox..Но что-то работает не так как нужно (исключается только одно число из Combobox). В чём проблема?

[vba]
Код
Private Sub UserForm_Activate()
For i = 0 To 31
    
    For j = 6 To 500
    If Range("A" & j).Value = "Совпадение" Then chislo = Range("B" & j).Value
    Next
    
    If chislo <> i Then Spisok.AddItem i
Next

End Sub
[/vba]
[moder]Дайте теме более конкретное название.[/moder]


Сообщение отредактировал Manyasha - Пятница, 22.01.2016, 15:01
 
Ответить
СообщениеЗдравствуйте! Занимаюсь совсем недавно VBA, поэтому возникла проблемка...
У меня есть на форме Combobox, который я заполняю числами от 0 до 31 с помощью кода

[vba]
Код
For i = 0 To 31
     Spisok.AddItem i
Next
[/vba]

Далее я по кнопке добавляю выбранные числа из этого комбобокса в ячейки Excel так, что в ячейках A пишется слово "Совпадение", а в ячейке B - выбранная цифра из комбобокса. Так вот задача следующего плана - необходимо после добавления чисел в ячейки убрать эти числа из Combobox, чтобы можно было добавлять только уникальные числа (без повторений).

Я решил при открытии формы анализировать есть ли символы "Совпадение" в диапазоне ячеек A6:A500 и если есть, то запомнить число из ячейки B и не заносить больше в Combobox..Но что-то работает не так как нужно (исключается только одно число из Combobox). В чём проблема?

[vba]
Код
Private Sub UserForm_Activate()
For i = 0 To 31
    
    For j = 6 To 500
    If Range("A" & j).Value = "Совпадение" Then chislo = Range("B" & j).Value
    Next
    
    If chislo <> i Then Spisok.AddItem i
Next

End Sub
[/vba]
[moder]Дайте теме более конкретное название.[/moder]

Автор - Vladimir113
Дата добавления - 22.01.2016 в 14:56
Udik Дата: Пятница, 22.01.2016, 15:31 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Хоть ответ и не очень конкретен, но все равно удален администрацией. Косяк, указанный в комментарии модератора, не исправлен.
[p.s.]Без файла разбираться в чужом коде довольно муторно.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеХоть ответ и не очень конкретен, но все равно удален администрацией. Косяк, указанный в комментарии модератора, не исправлен.
[p.s.]Без файла разбираться в чужом коде довольно муторно.

Автор - Udik
Дата добавления - 22.01.2016 в 15:31
Vladimir113 Дата: Понедельник, 25.01.2016, 09:54 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добавил файл с этой задачкой. Задача всё та же - убрать цифры из Combobox после добавления на форму (сейчас удаляется только последняя)... В своём коде в упор не вижу ошибки, хотя она там есть :) Может кто-то предложит альтернативный вариант решения. Буду признателен за помощь.

п.с. модератор, прошу прощения, но я почему то не наблюдаю возможности поменять тему топика.
[moder]Вы могли это сделать в течение суток после публикации, а теперь предложите название в посте, я переименую[/moder]

Переименуйте, пожалуйста. - "Удаление элемента из Combobox после добавления на лист"
К сообщению приложен файл: combobox.xlsm (19.8 Kb)


Сообщение отредактировал Vladimir113 - Понедельник, 25.01.2016, 10:42
 
Ответить
СообщениеДобавил файл с этой задачкой. Задача всё та же - убрать цифры из Combobox после добавления на форму (сейчас удаляется только последняя)... В своём коде в упор не вижу ошибки, хотя она там есть :) Может кто-то предложит альтернативный вариант решения. Буду признателен за помощь.

п.с. модератор, прошу прощения, но я почему то не наблюдаю возможности поменять тему топика.
[moder]Вы могли это сделать в течение суток после публикации, а теперь предложите название в посте, я переименую[/moder]

Переименуйте, пожалуйста. - "Удаление элемента из Combobox после добавления на лист"

Автор - Vladimir113
Дата добавления - 25.01.2016 в 09:54
китин Дата: Понедельник, 25.01.2016, 10:49 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеи ТУТ

Автор - китин
Дата добавления - 25.01.2016 в 10:49
Pelena Дата: Понедельник, 25.01.2016, 10:56 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Попробуйте такой вариант
[vba]
Код
Private Sub UserForm_Activate()
    For i = 0 To 31
    flag = 0
        For j = 1 To 500
            If Range("A" & j).Value = "Совпадение" And i = Range("B" & j).Value Then flag = 1
        Next
        If flag <> 1 Then Spisok.AddItem i
    Next
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробуйте такой вариант
[vba]
Код
Private Sub UserForm_Activate()
    For i = 0 To 31
    flag = 0
        For j = 1 To 500
            If Range("A" & j).Value = "Совпадение" And i = Range("B" & j).Value Then flag = 1
        Next
        If flag <> 1 Then Spisok.AddItem i
    Next
End Sub
[/vba]

Автор - Pelena
Дата добавления - 25.01.2016 в 10:56
Vladimir113 Дата: Понедельник, 25.01.2016, 11:01 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Pelena
большое спасибо, помогло!
 
Ответить
СообщениеPelena
большое спасибо, помогло!

Автор - Vladimir113
Дата добавления - 25.01.2016 в 11:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление элемента из Combobox после добавления на лист (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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