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