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

Вход

Регистрация

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

 

= Мир MS Excel/Вывод выбранных значений из выпадающего списка - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод выбранных значений из выпадающего списка (Макросы/Sub)
Вывод выбранных значений из выпадающего списка
Krix Дата: Пятница, 03.08.2018, 13:09 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Такой вопрос! Как сделать так, чтобы каждое новое значение, выбранное из выпадающего списка, вносилось в ячейку ниже предыдущей!
К сообщению приложен файл: 9861762.xls (73.5 Kb)
 
Ответить
СообщениеТакой вопрос! Как сделать так, чтобы каждое новое значение, выбранное из выпадающего списка, вносилось в ячейку ниже предыдущей!

Автор - Krix
Дата добавления - 03.08.2018 в 13:09
Mikael Дата: Пятница, 03.08.2018, 15:06 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 31 ±
Замечаний: 0% ±

Excel 2010
Пробуйте:
[vba]
Код
Sub Макрос1()
'DropDown1
    Dim str$
    'выбранный элемент выпадающего списка
    With ActiveSheet.Shapes("Drop Down 1").ControlFormat
        str = .List(.ListIndex)
    End With
    'последняя строка столбца "B"
    With Worksheets("TDSheet")
        .Cells(.Rows.Count, "B").End(xlUp).Offset(1) = str
    End With
End Sub
[/vba]
 
Ответить
СообщениеПробуйте:
[vba]
Код
Sub Макрос1()
'DropDown1
    Dim str$
    'выбранный элемент выпадающего списка
    With ActiveSheet.Shapes("Drop Down 1").ControlFormat
        str = .List(.ListIndex)
    End With
    'последняя строка столбца "B"
    With Worksheets("TDSheet")
        .Cells(.Rows.Count, "B").End(xlUp).Offset(1) = str
    End With
End Sub
[/vba]

Автор - Mikael
Дата добавления - 03.08.2018 в 15:06
Krix Дата: Пятница, 03.08.2018, 15:24 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо большущее!
 
Ответить
СообщениеСпасибо большущее!

Автор - Krix
Дата добавления - 03.08.2018 в 15:24
Hugo Дата: Пятница, 03.08.2018, 15:42 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3253
Репутация: 707 ±
Замечаний: 0% ±

2019
Вообще достаточно
[vba]
Код
Private Sub ComboBox1_Change()
    Cells(Rows.Count, "B").End(xlUp)(2).Value = ComboBox1.Value
End Sub
[/vba]
Но не на этом файле... Так и не понял в чём дело, но изменение на листе вызывает изменение комбобокса, в итоге значение вставляется дважды.
Ну а на чистом новом файле - мой код отлично работает.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВообще достаточно
[vba]
Код
Private Sub ComboBox1_Change()
    Cells(Rows.Count, "B").End(xlUp)(2).Value = ComboBox1.Value
End Sub
[/vba]
Но не на этом файле... Так и не понял в чём дело, но изменение на листе вызывает изменение комбобокса, в итоге значение вставляется дважды.
Ну а на чистом новом файле - мой код отлично работает.

Автор - Hugo
Дата добавления - 03.08.2018 в 15:42
Mikael Дата: Пятница, 03.08.2018, 16:13 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 80
Репутация: 31 ±
Замечаний: 0% ±

Excel 2010
Krix, держите модификацию с ценой. Вопросы лучше задавать на форуме. Я, например, могу долго не появляться, а здесь Вам кто-нибудь обязательно поможет.
[vba]
Код
Sub Макрос1()
'DropDown1
    Dim str$, strPrice$
    'выбранный элемент выпадающего списка
    With ActiveSheet.Shapes("Drop Down 1").ControlFormat
        str = .List(.ListIndex)
        strPrice = Range("Оборудование").Cells(.ListIndex).Offset(, 1)
    End With
    'последняя строка столбца "B"
    With Worksheets("TDSheet").Cells(Worksheets("TDSheet").Rows.Count, "B").End(xlUp)
        .Offset(1) = str
        .Offset(1, 1) = strPrice
    End With
End Sub
[/vba]

Но не на этом файле... Так и не понял в чём дело

И я не понял, а разбираться сейчас некогда
 
Ответить
СообщениеKrix, держите модификацию с ценой. Вопросы лучше задавать на форуме. Я, например, могу долго не появляться, а здесь Вам кто-нибудь обязательно поможет.
[vba]
Код
Sub Макрос1()
'DropDown1
    Dim str$, strPrice$
    'выбранный элемент выпадающего списка
    With ActiveSheet.Shapes("Drop Down 1").ControlFormat
        str = .List(.ListIndex)
        strPrice = Range("Оборудование").Cells(.ListIndex).Offset(, 1)
    End With
    'последняя строка столбца "B"
    With Worksheets("TDSheet").Cells(Worksheets("TDSheet").Rows.Count, "B").End(xlUp)
        .Offset(1) = str
        .Offset(1, 1) = strPrice
    End With
End Sub
[/vba]

Но не на этом файле... Так и не понял в чём дело

И я не понял, а разбираться сейчас некогда

Автор - Mikael
Дата добавления - 03.08.2018 в 16:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вывод выбранных значений из выпадающего списка (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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