У меня есть этот рабочий лист с датами в столбце B, именем в строке 1 и подзаголовками в строке 2. Я настроил эту форму пользователя, чтобы пользователь мог выбрать имя, выбрать тренинг и дату, а затем ввестиТип обучения покажет на эту дату.Однако теперь я застрял в том, как найти конкретную ячейку с выбранным именем и разместить ее в столбце обучения.Затем введите выбранную тренировку в ячейку.Вот названия вещей, которые я настроил до сих пор.
- droplist_training: поле со списком для типа обучения
- listbox_name_train: список для имен
- OSC: имя рабочего листа
Я также определил строку имени как имя в рабочем листе.И вот код, который я разработал до сих пор, не могли бы вы, пожалуйста, дать мне несколько советов, так как я очень новичок в этом кодировании VBA? Отпечаток экрана Worsheet
{Private Sub cmd_enter_training_Click()
Dim find_date As Range
If Me.txtbox_train_from.Value = "" Th[enter image description here][1]en
MsgBox "No starting date entered", , "Missing Entry"
Else
Set find_date =
Sheets("OSC").Range("b:b").find(What:=Me.txtbox_train_from.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If find_date Is Nothing Then
MsgBox "Wrong date format entered" & Me.txtbox_train_from.Value, , "No Match
Found"
End If
End If
Dim find_name As Range
Dim rngname As Range
Dim traincol As Range
Set ws = Worksheets("OSC")
If Me.listbox_name_train.Value = "" Then
MsgBox "Please select name", , "Missing Entry"
Else
Set find_name =Sheets("OSC").Range("name").find
(What:=Me.listbox_name_train _
, LookIn:=xlValues _
, LookAt:=xlWhole _
,SearchOrder:=xlByColumns _
, SearchDirection:=xlNext _
, MatchCase:=False)
If find_name Is Nothing Then
MsgBox "No match for " & Me.listbox_name_train.Value, , "No Match Found"
Set traincol = Sheets("OSC").Range("name").Range("train")
Else
Sheets("OSC").Cells(find_date, traincol).End(xlUp).Offset(, 1) =
Me.droplist_training.Value
End If
End If
End Sub}