Я использую событие Worksheet_SelectionChange, в котором мне нужно получить текущий номер строки и использовать его для определенного события.
Мне нужно получить номер строки и сохранить его в переменной, чтобы я могиспользуйте его для определенного события.
У меня есть раскрывающийся список («Да / Нет», «Истина / Ложь», «Один», «Несколько») в столбце «С».
• Если пользователь выбирает «Да / Нет», пользователю необходимо выбрать один параметр «Истина» в столбце «D».
• Если пользователь выбирает «Несколько» в столбце «С»,затем пользователю необходимо выбрать как минимум 2 параметра «Истина» в столбце «D» и т. д. для другого выбора ...
• Если пользователь не выбрал соответствующий параметр в столбце «D», онбудет отображаться предупреждение до тех пор, пока пользователь не выберет соответствующие параметры.
Вот мой код:
Я добиваюсь результатов, о которых я упоминал выше, но мой код статичен каждый раз, когда ядолжен упомянуть номер строки.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
rw = 10
rng1 = rw + 1
rng2 = rw + 4
If Worksheets("Question paper").Range("D" & rw).Value = "Multiple Choice/ Multiple Answer" And _
WorksheetFunction.CountIf(Range("E" & rng1 & ":" & "E" & rng2), "TRUE") < 2 Then
MsgBox "Select at least 2 ""TRUE"" option"
' for Multiple Choice/Single Answer
' if user select more than 1 answer
ElseIf Worksheets("Question paper").Range("D" & rw).Value = "Multiple Choice/Single Answer" And _
WorksheetFunction.CountIf(Range("E" & rng1 & ":" & "E" & rng2), "TRUE") > 1 Then
MsgBox "Select only 1 ""TRUE"" option"
End If
Я ожидаю динамическое решение, чтобы я мог использовать его по всему листу.Нет необходимости присваивать переменную с номером строки для определенного диапазона.