Private Sub UserForm_Initialize()
Dim iList As Worksheet
For Each iList In ThisWorkbook.Worksheets
ComboBox1.AddItem iList.Name
Next
ComboBox1.ListIndex = 0
ComboBox1.Style = fmStyleDropDownList 'можно изменить также и вручную
ComboBox2.List = Array("3-ий экипаж", "4-ый экипаж", "5-ый экипаж", "6-ой экипаж", "7-ой экипаж", "8-ой экипаж")
End Sub
'Private Sub ComboBox1_Change()
' Worksheets(ComboBox1.ListIndex + 1).Activate
'End Sub
Private Sub ComboBox2_Change() 'Событие используется для примера
With ThisWorkbook.Worksheets(ComboBox1.ListIndex + 1)
Dim iCell As Range
Set iCell = .Columns("B:C").Find("*", , xlFormulas, , xlByRows, xlPrevious)
If Not iCell Is Nothing Then
.Cells(iCell.Row + 1, 2) = ComboBox2.Value
Else
.Cells(1, 2) = ComboBox2.Value
End If
End With
End Sub
VBA связь элементов формы с таблицей
Помогите плз есть книга, которая должна заполняться и редактироваться с формы. В форме есть 2 ComboBox, первый отвечает за переключение листов книги
Private Sub ComboBox1_Change()
Sheets(ComboBox1.ListIndex + 1).Select
End Sub
Private Sub UserForm_Initialize()
Dim n As Long
n = Sheets.Count
For i = 1 To n
ComboBox1.AddItem Sheets(i).Name
Next
Второй дает выбор. Данные "_" должны подставляться в столбец "В" на выбранном листе.
ComboBox2.AddItem "3-ий экипаж"
ComboBox2.AddItem "4-ый экипаж"
ComboBox2.AddItem "5-ый экипаж"
ComboBox2.AddItem "6-ой экипаж"
ComboBox2.AddItem "7-ой экипаж"
ComboBox2.AddItem "8-ой экипаж"
End Sub
Проблема такова: 1) как увязать выбор из ComboBox2 с первой пустой ячейкой столбца "В"
2) создать условие, что если в столбце "С" например до этого уже было какое либо значение (С1 кпримеру или С1:С(х), где х любой) то результат из формы с ComboBox2 записывался в столбец "В" строку (х)+1.
Если я правильно понял поставленную задачу, то :