Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ComboBox / 14 сообщений из 14, страница 1 из 1
18.08.2010, 15:36
    #36798078
Supper6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Есть ComboBox.
Данные в него берутся с диапозона ячеек:

Код: plaintext
1.
2.
Private Sub UserForm_Initialize()
CompanyListBox.List = ThisWorkbook.Worksheets("Work").Range("Companytest").Value
End Sub 
Данные могут поменяться, как и их количество. В связи с этим я увеличил диапазон на запас. Но и получил трудности в связи с этим, пустые ячейки так же отображаются в списке, как этого можно избежать?
...
Рейтинг: 0 / 0
18.08.2010, 15:42
    #36798106
Supper6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Появилась идея с использованием массива Do While, сейчас попробую реализовать.
...
Рейтинг: 0 / 0
18.08.2010, 17:43
    #36798499
Supper6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
идея ниже, но не работает :(
Код: plaintext
1.
2.
3.
4.
5.
Do While f <> ""
r = r +  1 
ThisWorkbook.Worksheets("Work").Range("Companytest").Offset(r,  1 ).Value = f

f = CompanyListBox.List
Loop
...
Рейтинг: 0 / 0
18.08.2010, 17:46
    #36798504
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Supper6идея ниже, но не работает
Идея непонятна
Сначала словами опишите, что хотите, а потом будете на ВБА переводить
...
Рейтинг: 0 / 0
18.08.2010, 17:59
    #36798545
Supper6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Shocker.Pro,
Смотрите вложение, так думаю будет понятнее.
при открытии формы выскакивает список, как с этого списка убрать пустые поля?
...
Рейтинг: 0 / 0
18.08.2010, 18:30
    #36798648
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Supper6Shocker.Pro,
Смотрите вложение, так думаю будет понятнее.
при открытии формы выскакивает список, как с этого списка убрать пустые поля?

у меня нет 2007-го офиса.
Я думаю, что надо просто заполнить комбобокс в цикле по одному элементу.
...
Рейтинг: 0 / 0
19.08.2010, 04:21
    #36799109
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
UsedRange?
...
Рейтинг: 0 / 0
19.08.2010, 11:38
    #36799668
Supper6
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Всем спасибо, вопрос решил сам.
Не в ту сторону шагал))))

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Auto_start()

Dim Directory As String, r As String, f As String
    
Directory = "E:\Test\"

f = Dir(Directory, vbDirectory)
Do While f <> ""

If f <> "." Then
    If f <> ".." Then Form.CompanyListBox.AddItem f
End If
f = Dir
Loop

Form.Show

End Sub
...
Рейтинг: 0 / 0
19.08.2010, 12:02
    #36799743
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Код: plaintext
1.
2.
If f <> "." Then
    If f <> ".." Then Form.CompanyListBox.AddItem f
End If

заменяется на

Код: plaintext
If f <> "." And f <> ".." Then Form.CompanyListBox.AddItem f

или на

Код: plaintext
1.
If Left$(f,  1 ) <> "." Then Form.CompanyListBox.AddItem f 'в виндах не может файл начинаться с точки
...
Рейтинг: 0 / 0
19.08.2010, 12:04
    #36799751
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
и вообще с FSO всё проще было бы
...
Рейтинг: 0 / 0
19.08.2010, 15:57
    #36800682
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Shocker.Proв виндах не может файл начинаться с точки
Может
...
Рейтинг: 0 / 0
19.08.2010, 17:39
    #36801005
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
VSVLADShocker.Proв виндах не может файл начинаться с точки
Может
ну значит мой последний вариант неверен
...
Рейтинг: 0 / 0
19.08.2010, 19:05
    #36801216
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
проверять на пустую строку не требуется. Гораздо красивее использовать SpecialCells и XlCellType. ( xlCellTypeBlanks . Empty cells и так далее)
...
Рейтинг: 0 / 0
20.08.2010, 08:27
    #36801761
Шуримар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ComboBox
Код: plaintext
1.
2.
3.
4.
Private Sub UserForm_Activate()
    For i =  10  To Sheets("Main").Cells(Rows.Count,  3 ).End(xlUp).Row
    If Not IsEmpty(Sheets("Main").Cells(i,  3 )) Then ComboBox1.AddItem Sheets("Main").Cells(i,  3 )
    Next i
End Sub
Формирует список с листа "Main" в третьем столбце начиная с 10 строки.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ComboBox / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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