Сочетание клавиш для переключения между листами в Excel

Ответы:

20

Ctrl+ PgUpдвигаться влево.

Ctrl+ PgDnдвигаться вправо.

Dmatig
источник
Это также относится к Excel 2013 =)
Metafaniel
а на macbook без pgup и pgdown?
theonlygusti
Я желаю , чтобы они были лучше ярлык, как Page Upи Page Downвсегда трудно найти в различных ноутбуках и не очень удобно размещены на клавиатуре.
Cricrazy
3

Макросы 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
ChrisB
источник
Как я могу получить следующий и предыдущий лист? Я хочу сделать Sub ToPreviousSheetа ToNextSheet?
theonlygusti
Используйте индекс листа для этого. Я обновлю свой ответ, чтобы включить это.
ChrisB
1

Вы также можете использовать клавиши ускорения, чтобы перейти в Goдиалоговое окно. Затем вы можете напечатать что-то вроде foo!A1перехода в верхнюю левую ячейку листа с именем «foo». В то время как страница вверх и страница вниз, как правило, быстрее. Если у вас есть большое количество (например, 20+) хорошо именованных листов, это может быть быстрее. Go также хорошо работает, если вы назвали таблицы на ваших листах.

Нажатие F5 обычно открывает Goдиалоговое окно.

Джером англим
источник