Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выделение ячейки при клике в ListBox - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделение ячейки при клике в ListBox (Макросы/Sub)
Выделение ячейки при клике в ListBox
Dмитрий Дата: Воскресенье, 16.03.2014, 19:11 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Прошу прощения! Не думал, что здесь все так строго. Буду аккуратней. Вот мучаюсь с решением своей проблемы. Подскажите, пожалуйста, как при двойном клике в ListBox2 выделить на листе ту ячейку, в которой содержится это наименование. При последовательном заполнении ListBox (без пробелов) это не проблема, но в данном случае, ListBox2 заполняется выборочно
[vba]
Код
Private Sub ListBox1_Click()
List = ListBox1.ListIndex + 1  
lr = Cells(Rows.Count, 8).End(xlUp).Row   
ListBox2.Clear
For i = 1 To lr
If Cells(i, 8) = List Then ListBox2.AddItem Cells(i, 9)
Next i
End Sub
[/vba]
Спасибо
К сообщению приложен файл: ListBox.xlsb (18.6 Kb)
 
Ответить
СообщениеПрошу прощения! Не думал, что здесь все так строго. Буду аккуратней. Вот мучаюсь с решением своей проблемы. Подскажите, пожалуйста, как при двойном клике в ListBox2 выделить на листе ту ячейку, в которой содержится это наименование. При последовательном заполнении ListBox (без пробелов) это не проблема, но в данном случае, ListBox2 заполняется выборочно
[vba]
Код
Private Sub ListBox1_Click()
List = ListBox1.ListIndex + 1  
lr = Cells(Rows.Count, 8).End(xlUp).Row   
ListBox2.Clear
For i = 1 To lr
If Cells(i, 8) = List Then ListBox2.AddItem Cells(i, 9)
Next i
End Sub
[/vba]
Спасибо

Автор - Dмитрий
Дата добавления - 16.03.2014 в 19:11
RAN Дата: Воскресенье, 16.03.2014, 19:20 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Чи я тупой, чи шо?
[vba]
Код
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cells.Find(Me.ListBox2.Value).Select
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧи я тупой, чи шо?
[vba]
Код
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cells.Find(Me.ListBox2.Value).Select
End Sub
[/vba]

Автор - RAN
Дата добавления - 16.03.2014 в 19:20
Dмитрий Дата: Воскресенье, 16.03.2014, 19:36 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Цитата
Cells.Find(Me.ListBox2.Value).Select
В этом случае выделяется первое найденное слово.

Поясню более подробно: Два ListBox. Слева - заполняется по инициализации формы. Справа, в зависимости от значения в предыдущем. Заполнение ListBox2 должно происходит по коду находящегося в столбце "Н". То есть если в ListBox1 выбрана третья сверху строка, то соответственно те слова код, которых=2, должны отобразиться в ListBox2. В данном случае это "желтый, красный, зеленый". Если выбрана четвертая сверху строка, то соответственно те слова код, которых=3, должны отобразиться в ListBox2. В данном случае это "желтый" и т.д. Количество слов с одинаковым кодом может быть неограничено.
Все работает, вот только как выделить на листе ту ячейку, значение которой, собственно и отображено в ListBox2
 
Ответить
Сообщение
Цитата
Cells.Find(Me.ListBox2.Value).Select
В этом случае выделяется первое найденное слово.

Поясню более подробно: Два ListBox. Слева - заполняется по инициализации формы. Справа, в зависимости от значения в предыдущем. Заполнение ListBox2 должно происходит по коду находящегося в столбце "Н". То есть если в ListBox1 выбрана третья сверху строка, то соответственно те слова код, которых=2, должны отобразиться в ListBox2. В данном случае это "желтый, красный, зеленый". Если выбрана четвертая сверху строка, то соответственно те слова код, которых=3, должны отобразиться в ListBox2. В данном случае это "желтый" и т.д. Количество слов с одинаковым кодом может быть неограничено.
Все работает, вот только как выделить на листе ту ячейку, значение которой, собственно и отображено в ListBox2

Автор - Dмитрий
Дата добавления - 16.03.2014 в 19:36
RAN Дата: Воскресенье, 16.03.2014, 19:41 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Еще раз спрошу.
Чи я тупой, чи шо?

Мой код что делает?
Или вы не пробовали?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЕще раз спрошу.
Чи я тупой, чи шо?

Мой код что делает?
Или вы не пробовали?

Автор - RAN
Дата добавления - 16.03.2014 в 19:41
Dмитрий Дата: Воскресенье, 16.03.2014, 20:34 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
В том то и дело что пробовал. Ваш код ищет в ячейке название из ListBox2 и выделяет первое нашедшее.
Так при клике в ListBox1 на "КОД1" в ListBox2 появляется "красный" из ячейки Cells(5,9), а надо "красный" из ячейки Cells(12,9)
И так далее
При клике в ListBox1 на "КОД2" в ListBox2 появляется "желтый" из ячейки Cells(2,9), "зеленый" из ячейки Cells(6,9), "красный" из ячейки Cells(9,9), "зеленый" из ячейки Cells(11,9), "зеленый" из ячейки Cells(13,9).
Определяющим параметром для заполнения ListBox2 является не название, а код, находящийся слева в столбце "Н". Этот код уже существует, он не заполняется программно
 
Ответить
СообщениеВ том то и дело что пробовал. Ваш код ищет в ячейке название из ListBox2 и выделяет первое нашедшее.
Так при клике в ListBox1 на "КОД1" в ListBox2 появляется "красный" из ячейки Cells(5,9), а надо "красный" из ячейки Cells(12,9)
И так далее
При клике в ListBox1 на "КОД2" в ListBox2 появляется "желтый" из ячейки Cells(2,9), "зеленый" из ячейки Cells(6,9), "красный" из ячейки Cells(9,9), "зеленый" из ячейки Cells(11,9), "зеленый" из ячейки Cells(13,9).
Определяющим параметром для заполнения ListBox2 является не название, а код, находящийся слева в столбце "Н". Этот код уже существует, он не заполняется программно

Автор - Dмитрий
Дата добавления - 16.03.2014 в 20:34
ikki Дата: Воскресенье, 16.03.2014, 20:40 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
коротко - двухстолбцовые листбоксы надо делать.
делал пример для вашей прошлой темы, а оказалось, что она закрыта.
ладно, не выкинул :)
К сообщению приложен файл: ListBox_D.xlsb (15.6 Kb)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 16.03.2014, 20:41
 
Ответить
Сообщениекоротко - двухстолбцовые листбоксы надо делать.
делал пример для вашей прошлой темы, а оказалось, что она закрыта.
ладно, не выкинул :)

Автор - ikki
Дата добавления - 16.03.2014 в 20:40
RAN Дата: Воскресенье, 16.03.2014, 20:47 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Я еще хотел спросить, "красный" он что, не "красный"?
Оказалось и впрямь "красный" он "зеленый" wine


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЯ еще хотел спросить, "красный" он что, не "красный"?
Оказалось и впрямь "красный" он "зеленый" wine

Автор - RAN
Дата добавления - 16.03.2014 в 20:47
Dмитрий Дата: Воскресенье, 16.03.2014, 21:17 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Большое Спасибо
Про двухстолбцовые листбоксы я как-то и не подумал. А так все работает, я столько времени голову ломал, что мне казалось - сделать подобное точно не получится. В конец запутался.
Простите за наглость. Вы мне и так очень помогли, но можно ли сделать так, чтобы и ListBox2 заполнялся снизу вверх???
 
Ответить
СообщениеБольшое Спасибо
Про двухстолбцовые листбоксы я как-то и не подумал. А так все работает, я столько времени голову ломал, что мне казалось - сделать подобное точно не получится. В конец запутался.
Простите за наглость. Вы мне и так очень помогли, но можно ли сделать так, чтобы и ListBox2 заполнялся снизу вверх???

Автор - Dмитрий
Дата добавления - 16.03.2014 в 21:17
ikki Дата: Воскресенье, 16.03.2014, 21:25 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
можно.
а кто запрещает?

серьезно - в приложенном файле есть все примеры для этого.
разбирайтесь.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеможно.
а кто запрещает?

серьезно - в приложенном файле есть все примеры для этого.
разбирайтесь.

Автор - ikki
Дата добавления - 16.03.2014 в 21:25
Dмитрий Дата: Воскресенье, 16.03.2014, 21:47 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация: 9 ±
Замечаний: 40% ±

Excel 2010
Разобрался. Спасибо
[vba]
Код
For i = lr To 1 Step -1
[/vba]
 
Ответить
СообщениеРазобрался. Спасибо
[vba]
Код
For i = lr To 1 Step -1
[/vba]

Автор - Dмитрий
Дата добавления - 16.03.2014 в 21:47
ikki Дата: Воскресенье, 16.03.2014, 21:52 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
отлично!
успехов ;)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеотлично!
успехов ;)

Автор - ikki
Дата добавления - 16.03.2014 в 21:52
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделение ячейки при клике в ListBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!