3

Я знаю ярлык CRTL + страница вверх / вниз, но мне нужна похожая функция, которая существует, например, в Internet Explorer: Shift + alt Я нашел макрос, который близок, но не полностью решает проблему:

Если ActiveSheet.Name = "To Do" Затем Sheets("Бюджет").Активируйте ElseIf ActiveSheet.Name = "Budget" Затем Sheets("To Do").активировать

Я могу назвать ячейку А1 именем листа и использовать поиск (f5) и ввести имя, но это громоздко.

Есть идеи, ребята?

3 ответа3

1

Что я делаю: используйте View > Window > New Window чтобы открыть текущую книгу в другом окне приложения. Используйте каждое окно для отображения одного из листов, с которыми вы работаете. Теперь вы можете переключаться между ними, используя обычные Alt+Tab (в Windows).

У этого метода есть еще одно преимущество: книгу можно открыть в более чем двух окнах, каждое из которых отображает свою таблицу.

(Возможный) недостаток этого метода заключается в том, что вам может потребоваться несколько раз нажать Alt+Tab, если другое окно приложения стало активным с тех пор, как вы в последний раз смотрели на Excel.

Тем не менее, вы также можете:

  • Используйте Task View, чтобы отобразить все открытые окна и легко выбрать одну Win+Tab ;
  • Если вы работаете с множеством различных приложений / документов, поместите окна Excel в их собственный виртуальный рабочий стол. Пока вы находитесь на этом рабочем столе, Alt+Tab будет хорошо работать. Вы можете переключиться на «предыдущий» рабочий стол с помощью Win+Ctrl+Left, а затем сделать это снова, чтобы вернуться на рабочий стол, содержащий окна Excel. Если я работаю над проектами, я обычно помещаю «общие приложения» (браузер, электронная почта, OneNote) в один виртуальный рабочий стол, и у меня есть разные рабочие столы для каждого проекта.
  • Если у вас открыто несколько окон Excel, и они сгруппированы вместе на панели задач, вы можете циклически проходить по ним (в том порядке, в котором они были активны в последний раз), нажав Ctrl+Click сгруппированной панели задач.

Очевидно, что каждый метод имеет свои плюсы и минусы, в зависимости от того, сколько приложений и документов у вас открыто, и как вы хотите с ними взаимодействовать.

1

Решение Дэна работает. Если вы не хотите хранить LastSheet в диапазоне ячеек, попробуйте:

 Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  ActiveWorkbook.Names.Add Name:="whchSheet", RefersToR1C1:=Sh.Name
 End Sub

все еще создать горячую клавишу, как он предлагает

 Sub MoveToLastSheet()
  Sheets(Application.Evaluate(Names("whchSheet").Value)).Select
 End Sub
0

Если вы хотите добавить горячую клавишу для переключения на свой предыдущий лист, сначала создайте ячейку с именем "LastSheet", чтобы сохранить значение последнего листа. Затем поместите это в свой ThisWorkbook:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Range("LastSheet").Value = Sh.Name
End Sub

Теперь в Module1 поместите этот код:

Sub MoveToLastSheet()
Sheets(Range("LastSheet").Value).Select
End Sub

Создайте горячую клавишу для макроса MoveToLastSheet, и все готово. Теперь вы перейдете к предыдущему листу, который вы посетили.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .