Вы можете разработать процедуру события, чтобы активировать E2 в любое время, когда вы пытаетесь перейти от D8 к D9 — вставьте нижеследующее в свой модуль рабочего листа:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static mybool As Boolean
If Target.Address = Range("D8").Address Then
mybool = True
Exit Sub
End If
If mybool = True And Target.Address = Range("D9").Address Then
Range("E2").Activate
End If
mybool = False
End Sub
@Rupedaddy, тебе удалось это решить? если нет, вы, скорее всего, вставили приведенный выше код не в то место, и это говорит о том, что вы, возможно, не знакомы с модулями объектного кода, поэтому позвольте мне попытаться объяснить лучше.
Вы видите окно проводника проекта? похоже на этот http://www.excel-vba.com/zi-vbe-project-add-sheet.jpg и должен отображаться по умолчанию в левом верхнем углу окна VBE. Если это так, просто попробуйте найти свой путь через отображаемую древовидную структуру, это должно быть довольно интуитивно понятно:
- найдите VBAProject, который относится к интересующей вас книге
- под ним изучите узел «Объекты Microsoft Excel»
- дважды щелкните подузел, относящийся к вашему рабочему листу. Это откроет модуль кода объекта рабочего листа в главном окне кода.
Затем просто вставьте туда приведенный выше код - и вы должны быть в пути. Это требование, чтобы событийные процедуры вводились в модуль кода объекта, с которым они должны быть связаны.
Надеюсь это поможет
Изменить: чтобы это работало для всех рабочих листов, вставьте приведенный ниже код в модуль объектного кода вашей книги.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Static ws As Worksheet
If Target.Address = Range("D8").Address Then
Set ws = Sh
Exit Sub
End If
If ws Is Sh Then
Set ws = Nothing
If Target.Address = Range("D9").Address Then
Range("E2").Activate
End If
End If
End Sub
person
IAmDranged
schedule
08.07.2014