Добрый день. К сожалению поиск не помог, обращаюсь за помощью
Вопрос не сложный, но что-то не получается решить уже долго:( В таблице Эксель, есть обработчик двойного клика на ячейке в определенном столбце (Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("Таблица[[#ALL],[Столбец]]")) Is Nothing Then
Dim Theme_Number As Integer
Theme_Number = 0
UserForm1.Show
If Not Theme_Number = 0 Then Target.Value = Theme_Number
Cancel = True
Exit Sub
End If
End Sub
Мне необходимо, чтобы в UserForm1 пользователь нажимал дважды на Label и определенное значение записывалось в Theme_Number, можно значение Label, можно задать самостоятельно, здесь не так важно. Я прописываю обработчик события клика на Label
Код
Private Sub Label1_Click()
Dim Theme_Number As Integer 'потому что он начинает ругаться, если я не объявлю переменную
Theme_Number = 1
Unload Me
End Sub
'и так далее на каждый, нужный мне Label
Private Sub Label2_Click()
Dim Theme_Number As Integer 'потому что он начинает ругаться, если я не объявлю переменную
Theme_Number = 2
Unload Me
End Sub
Проблема в том, что после выхода из Sub с Click и возврате в первый блок, не вытягивается значение Theme_Number и соответственно проверку последующую не проходит корректно.
Прикладываю файл примера Двойной клик на желтых полях запускает UserForm, клик на Label1 должен был привести к тому, чтобы в ячейку, на которую дважды кликнули встало значение "1"