powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование ListBox
25 сообщений из 25, страница 1 из 1
Использование ListBox
    #34091095
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пользоваться ListBox ?
Освоил кнопку, флажок, и кнопку выбора.
В поиске нашел только коственные вопросы.
В Хелпе VBA очень не понятно. Примерчик бы. Только простой, немудренный.
...
Рейтинг: 0 / 0
Использование ListBox
    #34091156
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование ListBox
    #34091158
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование ListBox
    #34091161
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование ListBox
    #34091164
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все из книги "Джона Уокенбаха"
...
Рейтинг: 0 / 0
Использование ListBox
    #34091207
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
Книга multicolumn listbox2
Откуда берутся названия месяцев?
Выбираю месяц: и что при этом происходит?
Где и что меняется?
ListBox используется для чего?
...
Рейтинг: 0 / 0
Использование ListBox
    #34091240
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Использование ListBox
    #34091279
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Использование ListBox
    #34091366
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)
затем этот массив запихивается в листбокс
...
Рейтинг: 0 / 0
Использование ListBox
    #34091379
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буду разбиратся.
Спасибо!
...
Рейтинг: 0 / 0
Использование ListBox
    #34091485
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Использование ListBox
    #34091586
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищу инфу и примеры в инете!
Навярняка должно быть описание и примеры.

Спасибо!

Рыба ищет-где глубже, человек-где больше рыбы.
...
Рейтинг: 0 / 0
Использование ListBox
    #34091912
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talgat vkodor
Книга multicolumn listbox2
Откуда берутся названия месяцев?
Выбираю месяц: и что при этом происходит?
Где и что меняется?
ListBox используется для чего?
ты спросил про книгу multicolumn listbox2
а смотришь в multiple lists.xls
разберись в книгах
в multiple lists.xls все просто
на листе именованные диапозоны под названиями
"Автомобили", "Месяцы", "Цвета"
вот они то и присваиваются ".RowSource" при нажатии на кнопку
...
Рейтинг: 0 / 0
Использование ListBox
    #34093817
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ListBox внедряется в лист как кнопка. (см. рисунок)
Можно ли его в таком виде использовать?
...
Рейтинг: 0 / 0
Использование ListBox
    #34094438
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно
...
Рейтинг: 0 / 0
Использование ListBox
    #34095719
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodorконечно
ПРошу махонький примерчик в виде Excel-файла.
Спасибо!
...
Рейтинг: 0 / 0
Использование ListBox
    #34099623
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Использование ListBox
    #34100329
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor

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

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

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

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

Возможно ли записывать в НЕ ПЕРЕИМЕНОВАННУЮ ячейку. Типа cells(1,8) ?
...
Рейтинг: 0 / 0
Использование ListBox
    #34101076
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Период между сообщениями больше года.
Использование ListBox
    #36017008
Pearls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как сделать чтоб в ListBox отображался список листов книги. Чтоб при добавлении листа нового в книгу он появлялся в списке, при выборе в списке листа, чтоб этот лист активировался.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Использование ListBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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