Есть ли в Excel 2007 комбинация клавиш для переключения между листами?
3 ответа
Ctrl+PgUp для перемещения влево.
Ctrl+PgDn для перемещения вправо.
Макросы VBA и пользовательские сочетания клавиш для активации первого или последнего листа
Если вы хотите, чтобы фактическое сочетание клавиш переместилось на первый или последний лист, поместите этот код в модуль в книге "ЛИЧНОЕ":
Sub ToFirstSheet()
Sheets(1).Activate
End Sub
Sub ToLastSheet()
Sheets(Sheets.Count).Activate
End Sub
Перейдите на вкладку «Разработчик»> «Макросы». Перейдите к этим макросам (ToFirstSheet и ToLastSheet). Выберите один, нажмите «Параметры» и назначьте сочетание клавиш. Сделайте то же самое для другого.
Сохранив это в "ЛИЧНО" рабочей книге, он будет доступен в любом файле Excel.
Встроенные сочетания клавиш для активации предыдущего или следующего листа
Чтобы перейти на один лист влево или вправо, вы можете использовать следующие сочетания клавиш по умолчанию:
Ctrl+PgUp
Ctrl+PgDn
Макросы VBA для активации предыдущего или следующего листа
Вот как это сделать, используя VBA, попробуйте это:
Sub ToPreviousSheet()
If ActiveSheet.Index = 1 Then
ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count).Activate
Else
ActiveWorkbook.Worksheets(ActiveSheet.Index - 1).Activate
End If
End Sub
Sub ToNextSheet()
If ActiveSheet.Index = ActiveWorkbook.Worksheets.Count Then
ActiveWorkbook.Worksheets(1).Activate
Else
ActiveWorkbook.Worksheets(ActiveSheet.Index + 1).Activate
End If
End Sub
Функции VBA для возврата предыдущего или следующего листа
Используйте эту функцию, если вы хотите получить предыдущий или следующий объект листа:
Function GetPreviousSheet(ByVal targetSheet As Worksheet) As Worksheet
Dim targetBook As Workbook
Set targetBook = targetSheet.Parent
If targetSheet.Index = 1 Then
Set GetPreviousSheet = targetBook.Worksheets(targetBook.Worksheets.Count)
Else
Set GetPreviousSheet = targetBook.Worksheets(targetSheet.Index - 1)
End If
End Function
Function GetNextSheet(ByVal targetSheet As Worksheet) As Worksheet
Dim targetBook As Workbook
Set targetBook = targetSheet.Parent
If targetSheet.Index = targetBook.Worksheets.Count Then
Set GetNextSheet = targetBook.Worksheets(1)
Else
Set GetNextSheet = targetBook.Worksheets(targetSheet.Index + 1)
End If
End Function
Используйте такие функции:
Sub EXAMPLE()
MsgBox "Previous Sheet: " & GetPreviousSheet(ActiveSheet).Name
MsgBox "Next Sheet: " & GetNextSheet(ActiveSheet).Name
GetNextSheet(ActiveSheet).Activate
End Sub
Вы также можете использовать клавиши ускорения, чтобы перейти в диалоговое окно Go
. Затем вы можете напечатать что-то вроде foo!A1
чтобы перейти к верхней левой ячейке на листе с именем "foo". В то время как страница вверх и страница вниз, как правило, быстрее. Если у вас есть большое количество (например, более 20) хорошо именованных листов, это может быть быстрее. Go также хорошо работает, если вы назвали таблицы на ваших листах.
Нажатие F5 обычно открывает диалоговое окно Go
.