Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заполнения ComboBox с столбца листа Exel / 7 сообщений из 7, страница 1 из 1
13.08.2007, 16:40
    #34724356
Redman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
Задача:Надо заполнить ComboBox с столбца листа Exel,когда в столбце находяться повторяющие записи,а в ComboBox они должны быть сгруппированы и не повторяться:
Sub addCmb(cmb As ComboBox, cel As Integer)
Dim n As Single, n2 As Single
Dim rng As Range
Dim a As Byte
Dim i As Single, j As Single
n = Application.WorksheetFunction.CountA(ActiveSheet.Range("a:a"))
For i = 2 To n
n2 = cmb.ListCount
If n2 = 0 Then
cmb.AddItem ActiveSheet.Cells(i, cel), 0
Else
a = 0
For j = 0 To cmb.ListCount - 1

If ActiveSheet.Cells(i, cel) = cmb.Column(0, j) Then
a = 1
Exit For
End If
Next j
If a = 0 Then cmb.AddItem ActiveSheet.Cells(i, cel)
End If
Next i
End Sub
Эта процедура работает для маленького количества записей,но когда записей 1000 она тормазит.Подскажите,пожалуста быстрый алгоритм
...
Рейтинг: 0 / 0
13.08.2007, 16:55
    #34724426
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
Обратиться к листу экселя как к таблице БД и выдрать данные запросом с использованием DISTINCT.

С уважением, Николай.
...
Рейтинг: 0 / 0
13.08.2007, 21:27
    #34725006
Redman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
gjghjcОбратиться к листу экселя как к таблице БД и выдрать данные запросом с использованием DISTINCT.

С уважением, Николай.
Извения,а можно по подробнее.
...
Рейтинг: 0 / 0
14.08.2007, 09:56
    #34725428
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
Сходи сюда
http://www.connectionstrings.com/?carrier=excel
Здесь и как подкоючиться и как в запросе прописать имя таблицы.
Коннект осуществляй через ADO.
С уважением, Николай.
...
Рейтинг: 0 / 0
14.08.2007, 11:15
    #34725720
Redman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
Извените,но это для меня еще трудно.Вы не могли бы подксказать как это сделать используя обычный VBA Exel?
...
Рейтинг: 0 / 0
14.08.2007, 11:57
    #34725936
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
RedmanИзвените,но это для меня еще трудно.Вы не могли бы подксказать как это сделать используя обычный VBA Exel?

Ну просто в Exel уникальные значения можно выбрать:
1) перебором и каждый раз сверяться не было ли такого значения уже.
2) сводная таблица
3) расширенный фильтр - там есть галка только уникальные значения

Например создайте сводную на основании Вашего столбца, в которой просто будут в столбец все встречающиеся названия, а потом в макросе нужно будет только обновить сводную и добавить все значения.
...
Рейтинг: 0 / 0
14.08.2007, 12:00
    #34725949
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнения ComboBox с столбца листа Exel
А что ты понимаешь под авториспользуя обычный VBA Exel?
Поищи по форуму CreateObject("ADODB.Connection").

С уважением, Николай.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Заполнения ComboBox с столбца листа Exel / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]