Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662

Удаление пустых строк ComboBox1

14.06.2017, 15:16. Показов 3683. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите как удалить пустые строки из ComboBox?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2017, 15:16
Ответы с готовыми решениями:

Удаление пустых строк
У меня есть файл со содержимым - d:-!-:dw r:-!-:Distemi:-!-: r:-!-:Distemi:-!-: r:-!-:Distemi:-!-: и мне надо удалить...

Удаление пустых строк в Excel
Здравствуйте! Есть такой код который по нажатию на CheckBox добавляет значение в ячейку в Excel и при снятии галочки очищает эту же запись...

Удаление пустых строк из массива
TCHAR display; //создаем массив SendMessage(Handle, WM_GETTEXT, 32768, (LPARAM)display); //заносим в массив содержимое окна ...

17
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
14.06.2017, 15:43
Visual Basic
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
Option Explicit
Dim WithEvents cbx As ComboBox, WithEvents cb As CommandButton, i&, v
 
Private Sub cb_Click()
    With cbx
        On Error Resume Next
        For i = 0 To .ListCount - 1
            If .List(i) = "" Then
                .RemoveItem i
            End If
        Next
    End With
End Sub
 
Private Sub Form_Load()
    Set cbx = Controls.Add("vb.ComboBox", "cbx"): With cbx
        .Move 90, 90
        .Visible = 1
        For i = 1 To 10
            If i Mod 2 Then cbx.AddItem "" Else cbx.AddItem i
        Next
    End With
    Set cb = Controls.Add("vb.CommandButton", "cb"): With cb
        .Move 90, 90 * 5, cbx.Width * 2, 90 * 4
        .Caption = "Удалить пустые строки"
        .Visible = 1
    End With
End Sub
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
14.06.2017, 15:47
Если в лоб - в цикле (только цикл по убыванию - от последнего элемента комбобокса к первому)

Visual Basic
1
If len(Combo1.List(i)) = 0 Then Combo1.RemoveItem (i)
Добавлено через 3 минуты
Цитата Сообщение от fever brain Посмотреть сообщение
For i = 0 To .ListCount - 1 If .List(i) = "" Then .RemoveItem i End If Next
А не будет ошибки в цикле? Ведь мы удаляем элемент из списка.
1
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 15:49  [ТС]
при добавлении в Combo1 из листа xl данные почему то в листинге Combo1 дублируются пробую так :
Visual Basic
1
2
3
4
 For Each s In XL.Worksheets("OSN").Range("A1:A10").Value
    If Len(ComboBox2.List(I)) = 0 Then ComboBox2.RemoveItem (I)
    ComboBox2.AddItem s
Next
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
14.06.2017, 15:53
ASSEI, если пишите в экселе, пишите в раздел VBA, здесь я выложил код который
не будет работать в Excel (будет только цикл работать) это исключительно для vb6
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 15:55  [ТС]
так я и пишу в раздел VB6
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
14.06.2017, 15:57
Цитата Сообщение от ASSEI Посмотреть сообщение
так я и пишу в раздел VB
Вы в VB, а если Вам надо код для Excel пишите в VBA.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 16:04  [ТС]
а причем тут xl, если комбо лежит на форме vb6, а получаю данные из xl ?

Добавлено через 4 минуты
я использую "комбобокс" в vb так как он изменяет размеры, а штатный "комбо" высоту не меня у меня не знаю почему
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
14.06.2017, 16:14
Если ты работаешь с проектом который берет данные из листов Excel то тогда показывай этот лист
в частности я же не знаю, что может находиться в тех ячейках, может там пусто а ты тут голову морочишь )
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 16:21  [ТС]
Тогда приношу свои извинения за свою тупость. Суть в том что из vb "комбобокс" просматриваю данные на листе с названием "OSN", просто добавляю кнопкой, потом при просмотре вижу много пустых и повторяющихся данных:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  '-------- открываю книгу
Set XL = CreateObject("Excel.Application")
XL.WorkBooks.Open App.Path & "\BD\ПКО_РКО.xlsx"
XL.Visible = False
  
XL.Worksheets("OSN").Rows("2:2").Insert xlDown, xlFormatFromLeftOrAbove
 XL.WorkBooks("ПКО_РКО").Worksheets("OSN").Range("A2").Value = InputBox("ЛА-ЛА", "ЛА-ЛА") 
  
  For Each s In XL.Worksheets("OSN").Range("A1:A10").Value
    ComboBox2.AddItem s
Next
  XL.ActiveWorkbook.Save
'ну и так далее закрываю книгу.........
..........
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
14.06.2017, 16:35
Цитата Сообщение от ASSEI Посмотреть сообщение
потом при просмотре вижу много пустых и повторяющихся данных
И Вы хотите избавиться от повторов и пустых строк?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 16:37  [ТС]
да так
0
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
14.06.2017, 16:42
Visual Basic
1
if len(s)<>0 then ComboBox2.AddItem s
А вот с повторами - надо по идее в цикле проверять надо на наличие дублей.
1
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 16:53  [ТС]
Visual Basic
1
If len(Combo1.List(i)) = 0 Then Combo1.RemoveItem (i)
работает?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 16:57  [ТС]
в плане вот какого повтора!
Миниатюры
Удаление пустых строк ComboBox1  
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
14.06.2017, 17:01  [ТС]
к стати я заметил такой нюанс, после как пере запускаю проект повторение пропадают
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.06.2017, 22:42
после как пере запускаю проект повторение пропадают
перед заполнением очищай комбо
Visual Basic
1
2
3
  ComboBox2.clear
[QUOTE]  For Each s In XL.Worksheets("OSN").Range("A1:A10").Value
    ComboBox2.AddItem s[/QUOTE]
1
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
15.06.2017, 09:46  [ТС]
вот пустых строк как и не было , зато повторы остались и уплотнились

Добавлено через 7 минут
к стати все получилось как и вы говорили, спасибо вам огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.06.2017, 09:46
Помогаю со студенческими работами здесь

Удаление повторяющихся пустых строк
Загружаю текстовый файл из директории. Если в файле содержатся повторяющиеся пустые строки, их необходимо удалить. Как это можно...

Удаление пустых строк в диапазоне
Ребят, у меня опять проблемы по невнимательности. Написал тут Private Sub CommandButton1_Click() Dim ra As Range, delra As Range ...

Удаление пустых строк / DataGridView
Есть массив, 15х15, исходя из которого создаётся в дальнейшем матрица с аналогичным размером. После создания матрицы я нахожу наибольший...

Удаление пустых строк из списка
Функция removeEmpty , которая удаляет пустые строки из заданного списка строк. Например: removeEmpty возвращает

Удаление пустых строк из очереди
Добрый вечер! у меня возникла проблема с удалением пустых строк, не могу понять, как организовать данный цикл(если строка ==0) то.. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru