Я работаю с Worksheet_Change VBA-кодом в Excel, как показано ниже.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A2000")) Is Nothing Then
Call writetag
End If
End Sub
Sub writetag()
ActiveCell.Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "1st Request"
End Sub
Один только writetag
VBA-код отлично справляется со своей задачей: он перемещает одну ячейку вправо активной ячейки и напишите «1-й запрос». Затем у меня есть первый код VBA - Worksheet_Change
- который будет запускать код writetag
всякий раз, когда в диапазон A2: A2000 вносятся изменения. Но именно в этой части код writetag
не работает идеально. Вместо того, чтобы перемещать 1 ячейку вправо, она переместит 1 ячейку вправо и еще 1 ячейку внизу. Поэтому мне нужно настроить ActiveCell.Offset(0, 1).Select
на ActiveCell.Offset(-1, 1).Select
только для того, чтобы он переместился в правую ячейку. Затем, после этого, я хотел бы сделать 3 условия или Ifs, при которых, когда я ставлю 1 в любом месте диапазона A2: A2000, он будет ставить «1-й запрос» справа от него. Если я поставлю 2 в любом месте диапазона, справа будет «2-й запрос», «3-й запрос», если я поставлю 3.
Большое спасибо за помощь.