Excel 2007には、ワークシートを切り替えるキーボードショートカットがありますか?
Ctrl+PgUp 左に移動します。
Ctrl+PgDn 右に移動します。
実際のキーボードショートカットで最初または最後のワークシートにジャンプする場合は、次のコードを「PERSONAL」ワークブックのモジュールに挿入します。
Sub ToFirstSheet()
Sheets(1).Activate
End Sub
Sub ToLastSheet()
Sheets(Sheets.Count).Activate
End Sub
[開発]タブ> [マクロ]に移動します。これらのマクロ(ToFirstSheetおよびToLastSheet)を参照します。いずれかを選択し、[オプション]をクリックして、キーボードショートカットを割り当てます。他の人にも同じことをしてください。
これを「PERSONAL」ワークブックに保存すると、任意のExcelファイルで使用できるようになります。
1つのワークシートを左または右にジャンプするには、次のデフォルトのキーボードショートカットを使用できます。
Ctrl+PgUp
Ctrl+PgDn
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
前または次のワークシートオブジェクトを取得する場合は、この関数を使用します。
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
ダイアログボックスが開きます。