Предположим, ваша функция вводит данные в столбцы A и B, и вы хотите, чтобы пользовательская форма появлялась, если пользователь выбирает ячейку в столбце C. Один из способов сделать это - использовать событие SelectionChange
:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim clickRng As Range
Dim lastRow As Long
lastRow = Range("A1").End(xlDown).Row
Set clickRng = Range("C1:C" & lastRow) //Dynamically set cells that can be clicked based on data in column A
If Not Intersect(Target, clickRng) Is Nothing Then
MyUserForm.Show //Launch custom userform
End If
End Sub
Обратите внимание, что пользовательская форма появится, когда пользователь выберет любую ячейку в столбце C, и вы можете захотеть заполнить каждую ячейку в столбце C чем-то вроде "выбрать ячейку для запуска формы", чтобы сделать ееОчевидно, что пользователю необходимо выполнить действие (наличие кнопки, естественно, означает, что на нее нужно нажать)