14

Есть ли в Excel 2007 комбинация клавиш для переключения между листами?

3 ответа3

20

Ctrl+PgUp для перемещения влево.

Ctrl+PgDn для перемещения вправо.

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
1

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

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

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