Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование ListBox / 25 сообщений из 25, страница 1 из 1
30.10.2006, 13:52:39
    #34091095
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Как пользоваться ListBox ?
Освоил кнопку, флажок, и кнопку выбора.
В поиске нашел только коственные вопросы.
В Хелпе VBA очень не понятно. Примерчик бы. Только простой, немудренный.
...
Рейтинг: 0 / 0
30.10.2006, 14:05:11
    #34091156
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
...
Рейтинг: 0 / 0
30.10.2006, 14:05:34
    #34091158
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
...
Рейтинг: 0 / 0
30.10.2006, 14:05:53
    #34091161
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
...
Рейтинг: 0 / 0
30.10.2006, 14:06:48
    #34091164
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Это все из книги "Джона Уокенбаха"
...
Рейтинг: 0 / 0
30.10.2006, 14:16:44
    #34091207
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodor
Книга multicolumn listbox2
Откуда берутся названия месяцев?
Выбираю месяц: и что при этом происходит?
Где и что меняется?
ListBox используется для чего?
...
Рейтинг: 0 / 0
30.10.2006, 14:23:59
    #34091240
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
1. Запусти это
Код: plaintext
1.
2.
3.
4.
5.
Sub f()
    For i =  1  To  12 
        MsgBox Format(DateSerial( 2001 , i,  1 ), "mmmm")
    Next i

End Sub
2., 3., Ни где ни чего не меняется
это демонстрация создания двух и более колонок в ListBox
4. Использовать можно для чего душе угодно.
...
Рейтинг: 0 / 0
30.10.2006, 14:33:40
    #34091279
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodor1. Запусти это
Код: plaintext
1.
2.
3.
4.
5.
Sub f()
    For i =  1  To  12 
        MsgBox Format(DateSerial( 2001 , i,  1 ), "mmmm")
    Next i

End Sub
2., 3., Ни где ни чего не меняется
это демонстрация создания двух и более колонок в ListBox
4. Использовать можно для чего душе угодно.
Запустил. Выводит месяцы.
Это имеет отношение к ListBox?
Я это так запускал:
Private Sub CommandButton1_Click()
For i = 1 To 12
MsgBox Format(DateSerial(2001, i, 1), "mmmm")
Next i
End Sub
...
Рейтинг: 0 / 0
30.10.2006, 14:48:21
    #34091366
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
В VBA в окне Project двойным щелчком на Userform1,
справа в окне появится форма,
на форму двойным щелчком,
тебя выкинет в код принадлежащий этой форме,
там прописан вот этот код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub UserForm_Initialize()
    Dim i As Integer
    Dim Data( 1  To  12 ,  1  To  2 )
    
'   Заполнить элемент управления ListBox
    For i =  1  To  12 
        Data(i,  1 ) = Format(DateSerial( 2001 , i,  1 ), "mmmm")
    Next i
    For i =  1  To  12 
        Data(i,  2 ) = Day(DateSerial( 2001 , i +  1 ,  1 ) -  1 )
    Next i
    ListBox1.ColumnCount =  2 
    ListBox1.List = Data
End Sub
Сначало формируется массив Data(1 To 12, 1 To 2)
затем этот массив запихивается в листбокс
...
Рейтинг: 0 / 0
30.10.2006, 14:52:40
    #34091379
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Буду разбиратся.
Спасибо!
...
Рейтинг: 0 / 0
30.10.2006, 15:16:43
    #34091485
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodorВ VBA в окне Project двойным щелчком на Userform1,
справа в окне появится форма,
на форму двойным щелчком,
тебя выкинет в код принадлежащий этой форме,
там прописан вот этот код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub UserForm_Initialize()
    Dim i As Integer
    Dim Data( 1  To  12 ,  1  To  2 )
    
'   Заполнить элемент управления ListBox
    For i =  1  To  12 
        Data(i,  1 ) = Format(DateSerial( 2001 , i,  1 ), "mmmm")
    Next i
    For i =  1  To  12 
        Data(i,  2 ) = Day(DateSerial( 2001 , i +  1 ,  1 ) -  1 )
    Next i
    ListBox1.ColumnCount =  2 
    ListBox1.List = Data
End Sub
Сначало формируется массив Data(1 To 12, 1 To 2)
затем этот массив запихивается в листбокс
Этого кода не нашел!
Прописано вот это:
Private Sub Frame1_Click()

End Sub

Private Sub obMonths_Click()
ListBox1.RowSource = "Лист1!Месяцы"
End Sub
Private Sub obCars_Click()
ListBox1.RowSource = "Лист1!Автомобили"
End Sub
Private Sub obColors_Click()
ListBox1.RowSource = "Лист1!Цвета"
End Sub

Private Sub OKButton_Click()
MsgBox (ListBox1.Value)
Unload Me
End Sub

Private Sub UserForm_Click()

End Sub
...
Рейтинг: 0 / 0
30.10.2006, 15:35:35
    #34091586
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Поищу инфу и примеры в инете!
Навярняка должно быть описание и примеры.

Спасибо!

Рыба ищет-где глубже, человек-где больше рыбы.
...
Рейтинг: 0 / 0
30.10.2006, 16:47:41
    #34091912
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
talgat vkodor
Книга multicolumn listbox2
Откуда берутся названия месяцев?
Выбираю месяц: и что при этом происходит?
Где и что меняется?
ListBox используется для чего?
ты спросил про книгу multicolumn listbox2
а смотришь в multiple lists.xls
разберись в книгах
в multiple lists.xls все просто
на листе именованные диапозоны под названиями
"Автомобили", "Месяцы", "Цвета"
вот они то и присваиваются ".RowSource" при нажатии на кнопку
...
Рейтинг: 0 / 0
31.10.2006, 12:42:25
    #34093817
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
ListBox внедряется в лист как кнопка. (см. рисунок)
Можно ли его в таком виде использовать?
...
Рейтинг: 0 / 0
31.10.2006, 14:50:24
    #34094438
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
конечно
...
Рейтинг: 0 / 0
31.10.2006, 20:11:03
    #34095719
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodorконечно
ПРошу махонький примерчик в виде Excel-файла.
Спасибо!
...
Рейтинг: 0 / 0
02.11.2006, 09:42:24
    #34099623
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
...
Рейтинг: 0 / 0
02.11.2006, 12:16:55
    #34100329
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodor

Спасибо!
Для чего ИМЯ 'cars', если оно совпадает с по диапазону с именем 'автомобили'
То же самое по именам 'месяцы' и "цвета'
Пример хороший. Разбираюсь.
...
Рейтинг: 0 / 0
02.11.2006, 12:29:54
    #34100406
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodor

И еще: В выражении tmp = Split(Sheet1.ListBox1.LinkedCell, "!") для чего знак "!"
...
Рейтинг: 0 / 0
02.11.2006, 13:10:49
    #34100631
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
talgat vkodor

Спасибо!
Для чего ИМЯ 'cars', если оно совпадает с по диапазону с именем 'автомобили'
То же самое по именам 'месяцы' и "цвета'
Пример хороший. Разбираюсь.
не обращай внимание, можно удалить.
...
Рейтинг: 0 / 0
02.11.2006, 13:24:30
    #34100685
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
talgat vkodor

И еще: В выражении tmp = Split(Sheet1.ListBox1.LinkedCell, "!") для чего знак "!"
Split(Expression,[Delimiter],[Limit],[Compare] )
Функция Split используется для расщепления строки на субстроки с использованием разделителя субстрок

Возвращаемое значение
Функция Split(Expression) возвращает одномерный массив с типом данных Variant(String), содержащий в качестве элементов найденные субстроки

Параметры
Expression
Обязательный аргумент - строка, которую нужно расщепить. Если аргумент содержит нулевую строку(""), то возвращается пустой массив, т.е. массив без элементов и данных
Delimiter
Необязательный аргумент - символы типа String, которые используются в качестве разделителя строки. Если аргумент опущен, то по умолчанию используется символ пробела(" "). Если же аргумент содержит нулевую строку(""), то возвращается одноэлементный массив, содержащее целую строку
Limit
Необязательный аргумент, содержащий число возвращаемых субстрок. Если аргумент опущен или равен -1, то обрабатывается вся строка
Compare
Необязательный аргумент - числовая константа, определяющая вид сравнения:
vbUseCompareOption=-1
Используется по умолчанию метод сравнения, заданный инструкцией Option Compare
vbBinaryCompare=0
Двоичный метод сравнения. Буквы разных регистров считаются разными
vbTextCompare=1
Текстовый метод сравнения. Сравнение без учета регистров
vbDatabaseCompare=2
Только для Microsoft Access. Сравнение с использованием информации базы данных
Пример

' Считаем число вхождений слова "кол" в строке
Dim stroka As String ' строчка для подсчета
Dim retval ' возвращаемое значение
stroka = "Шит колпак не по-колпаковски. Ливерная колбаса."
retval = Split(stroka, "кол")
MsgBox "'кол' встречается в строке'" & stroka _
& "' " & UBound(retval) & " раза"

Sheet1.ListBox1.LinkedCell - возвращает имя диапозона вместе с именем листа (Лист1!list1)
ThisWorkbook.Names(...) - в аргументе д.б. без имени листа
т.е.
ThisWorkbook.Names("Лист1!list1") - ошибка
ThisWorkbook.Names("list1").RefersTo - возвратит адрес именованного диапозона "list1"
"!" - разделитель для строки "Лист1!list1"
...
Рейтинг: 0 / 0
02.11.2006, 13:36:37
    #34100741
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
vkodor:

Спасибо
...
Рейтинг: 0 / 0
02.11.2006, 14:07:05
    #34100904
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Вот тут Sheet1.ListBox1.LinkedCell = "Лист1!list2" зачение пишется в ячейку К1 ( имя ячейки list2)

Возможно ли записывать в НЕ ПЕРЕИМЕНОВАННУЮ ячейку. Типа cells(1,8) ?
...
Рейтинг: 0 / 0
02.11.2006, 14:39:08
    #34101076
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
talgatВот тут Sheet1.ListBox1.LinkedCell = "Лист1!list2" зачение пишется в ячейку К1 ( имя ячейки list2)

Возможно ли записывать в НЕ ПЕРЕИМЕНОВАННУЮ ячейку. Типа cells(1,8) ?
конечно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub ListBox1_Click()
    'tmp = Split(Sheet1.ListBox1.LinkedCell, "!")
    MsgBox "Вы выбрали: " & Sheet1.ListBox1.Value & Chr( 13 ) & _
        "Значение лежит в: " & Sheet1.ListBox1.LinkedCell
End Sub

Private Sub OptionButton1_Click()
    Sheet1.ListBox1.ListFillRange = "Лист1!Месяцы"
    Sheet1.ListBox1.LinkedCell = "I1"
End Sub

Private Sub OptionButton2_Click()
    Sheet1.ListBox1.ListFillRange = "Лист1!Автомобили"
    Sheet1.ListBox1.LinkedCell = "J1"
End Sub

Private Sub OptionButton3_Click()
    Sheet1.ListBox1.ListFillRange = "Лист1!Цвета"
    Sheet1.ListBox1.LinkedCell = "K1"
End Sub
Но с именами лучше, особенно на стадии разработки, т.к. при перетаскивании ячеек в другое место в коде ничего менять не надо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
30.05.2009, 09:10:55
    #36017008
Pearls
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование ListBox
Подскажите как сделать чтоб в ListBox отображался список листов книги. Чтоб при добавлении листа нового в книгу он появлялся в списке, при выборе в списке листа, чтоб этот лист активировался.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование ListBox / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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