Я использую Private Sub Worksheet_Change для локализации любых изменений в диапазоне ячеек. После внесения изменений и выполнения некоторых требований мне требуется текстовое поле, чтобы пользователь мог или не мог изменять такие изменения. Внутри этого текстового поля я не знаю, как ссылаться на исходный адрес ячейки, используемый в Private Sub.
Я пытался использовать глобальные переменные, но это не работает.
Global A as Range
' Code for a specific worksheet
Private Sub Worksheet_Change(ByVal T As Range)
Dim KeyCells As Range
Set KeyCells = Range("Ag5:KL205")
If Not Application.Intersect(KeyCells, Range(T.address)) Is Nothing Then
A = T
' Code for Conditions
Unload UserForm1
UserForm1.Show
End
End Sub
---------------------------------------------------------------------------
' Code inside UserForm1
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
TextValue1 = TextBox1.Value
A.Value = TextValue1
Я хочу, чтобы внутри этого текстового поля изменялась ячейка, которая активировала код в Private Sub. Я пытался использовать ActiveCell.Value, но дело в том, что, если пользователь нажимает «ввести» активную ячейку для текстового поля, будет ниже. Если пользователь нажимает «стрелку вправо», рядом с ней находится активная ячейка. Я пытался указать код для конкретного действия, которое может выполнять пользователь, но мне тоже не повезло.