Длинный заголовок, но, надеюсь, это легко исправить, так что спасибо, что заглянули.
У меня есть пользовательская форма со списками (для разных сотрудников, месяцев и дней) и текстовым полем (Используются выходные дни) Форма содержит 10 Комбо-ящики для месяца и дня, чтобы учесть несколько записей (это все относится к вопросу, который я обещаю). введите описание изображения здесь Я хотел бы отправить данные, введенные в текстовые поля, в ячейку, продиктованную выбором из 3 комбинированных списков. Целевые листы имеют одинаковую разметку (по 1 на сотрудника). Заголовки столбцов: месяцы, а строки - дни (пронумерованы). это работает, я знаю, что там есть ошибки, но если есть несколько указателей, чтобы заставить его работать, это было бы фантастически c, я перечислил комментарий, чтобы лучше всего описать мои намерения, также я не уверен, что LastRow не является лучший вариант, но не знал альтернативы (я думал Range?):
Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayStatusBar = False
Dim LastRow As Long
Dim ComboDay As String
Dim ComboMonth As String
Dim I As Integer
'Open up sheet for data entry
'Dim WBK As Workbook
'Set WBK = Workbooks.Open(".xlsm")
'Windows(".xlsm").Activate
Dim ws As Worksheet
If ws.Name = UserForm1.ComboBox1.Text Then
End If
LastRow = ws.Range("C" & Rows.Count).End(xlUp).Row 'LastRow for the loop
'Identifying date and time
ComboDay = UserForm1.ComboBox2.Text 'day number from Combobox
ComboMonth = UserForm1.ComboBox3.Text 'Month selected in the ComboBox
For I = 1 To LastRow
If (ws.Range("C" & I).Text = ComboDay) And (ws.Range("D" & I).Text = ComboMonth) Then 'I know D range in ComboMonth is wrong - this is part of the old code which looked in two columns for date and time- how can this be changed to look across the columns (which are in row 16 on the sheet currently)
ws.Range("ComboDay", "ComboMonth" & I).Value = TextBox1.Text 'this is my basic attempt to illustrate how i want the code to look for the cell which is defined by the comboboxes
ws.Range("G" & I).Value = TextBox2.Text ' these below are all the old code - combo boxes on the form are all odd numbers from 3-21 for month and day are even from 2-20
ws.Range("I" & I).Value = TextBox3.Text
ws.Range("K" & I).Value = TextBox4.Text
ws.Range("M" & I).Value = TextBox5.Text
ws.Range("O" & I).Value = TextBox6.Text
ws.Range("Q" & I).Value = TextBox7.Text
ws.Range("S" & I).Value = TextBox8.Text
ws.Range("U" & I).Value = TextBox9.Text
ws.Range("Z" & I).Value = TextBox10.Text
End If
Next I
Application.DisplayStatusBar = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub