※本記事にはアフィリエイトリンクが含まれます
Excelの残業、その半分はショートカット知らないだけです。
結論。20個のショートカットを体で覚えると、月10時間は浮きます。さらに、定型作業はVBAをコピペするだけで自動化できる。本記事は「Excelやらされて残業してる人」のための、覚えるべきキーと貼るだけVBA小技集です。プログラミング知識ゼロでもOK。
動作確認環境: Windows 版 Excel 2019 / Microsoft 365(2026年5月時点)。Mac 版は一部VBAが動かないので後述します。
覚えるべきショートカット20選(優先順)
毎日使う基本7個
| キー | 動作 |
|---|---|
Ctrl + ; |
今日の日付を入力 |
Ctrl + : |
今の時刻を入力 |
Ctrl + Shift + L |
フィルター ON/OFF |
Ctrl + T |
選択範囲をテーブル化 |
Alt + Enter |
セル内で改行 |
Ctrl + Shift + 矢印 |
データ末尾まで一気に選択 |
Ctrl + Page Down/Up |
シート切り替え |
知ると劇的に楽になる7個
| キー | 動作 |
|---|---|
F4 |
絶対参照($A$1)切替・直前操作の繰り返し |
Ctrl + D |
上のセルをコピー(数式含む) |
Ctrl + R |
左のセルをコピー |
Ctrl + Shift + + |
行・列の挿入 |
Ctrl + - |
行・列の削除 |
Ctrl + Shift + $ |
通貨形式 |
Ctrl + Shift + % |
パーセント形式 |
玄人っぽくなる6個
| キー | 動作 |
|---|---|
Ctrl + E |
フラッシュフィル(Excel 2013以降のみ) |
Ctrl + 1 |
セルの書式設定を即開く |
Ctrl + 9 |
選択行を非表示 |
Ctrl + 0 |
選択列を非表示 ※ |
Alt + = |
SUM自動入力 |
F2 |
セル編集モード |
※ Ctrl + 0 は Windows の IME(言語バー)キーと衝突して効かないことがあります。その場合は右クリック→「非表示」が確実です。
特に Ctrl + E(フラッシュフィル)は革命的。「山田 太郎」を「山田太郎」にまとめる、メールアドレスから@の前を抜き出す、みたいなパターン抽出をExcelが自動で察します。
コピペで使えるVBA小技10選
VBAエディタは Alt + F11 で開きます。エディタ画面で 「挿入」→「標準モジュール」 を選んでから、以下のコードを貼り付けてください。マクロを実行するには F5。
初めて使う場合、Excelの「マクロのセキュリティ警告」が出ることがあります。「マクロを有効にする」を選んでから進めてください。
1. 全シートの先頭セルにジャンプ
Sub GoToA1AllSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
Range("A1").Select
Next ws
End Sub
誰かに渡す前のお作法。地味だけど評価上がります。
2. 空白行を一括削除
Sub DeleteBlankRows()
Dim r As Long
For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
※ A列の最終行を基準にしているので、A列が空でB列以降にデータがある行は対象外です。表全体で判定したい場合は UsedRange.Rows.Count を使ってください。
3. 全シートをPDF化
Sub ExportAllSheetsPDF()
Dim ws As Worksheet, names() As String, i As Long
ReDim names(ActiveWorkbook.Worksheets.Count - 1)
For Each ws In ActiveWorkbook.Worksheets
names(i) = ws.Name
i = i + 1
Next ws
ActiveWorkbook.Worksheets(names).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\全シート.pdf"
End Sub
会議資料の出力時に超便利。全シートを選択した状態で書き出します。手作業30秒が1クリックに。
4. 選択範囲を値だけにする
Sub PasteAsValues()
Selection.Value = Selection.Value
End Sub
数式を一気に値化したい時に。1行で確実に動きます。
5. シートの保護を一括設定
Sub ProtectAllSheets()
Dim pw As String
pw = InputBox("保護用パスワードを入力してください(忘れると標準機能では解除不能)")
If pw = "" Then Exit Sub
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Protect Password:=pw
Next ws
End Sub
⚠️ パスワードは絶対に忘れないでください。Excelの標準機能では解除できません。安全のため、実行時に都度入力させる形にしています。
6. 重複行を削除
Sub RemoveDuplicates()
ActiveSheet.Range("A1").CurrentRegion.RemoveDuplicates _
Columns:=Array(1), Header:=xlYes
End Sub
※ CurrentRegion は周囲に空行・空列がある範囲を自動で認識します。表の隣にデータがあると一緒に巻き込まれるので注意してください。
7. 全シートの全列幅を自動調整
Sub AutoFitAllSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Cells.EntireColumn.AutoFit
Next ws
End Sub
8. 今開いてるBookを日付付きで保存
Sub SaveWithDate()
Dim base As String, ext As String, p As Long
p = InStrRev(ThisWorkbook.Name, ".")
base = Left(ThisWorkbook.Name, p - 1)
ext = Mid(ThisWorkbook.Name, p)
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & base & _
"_" & Format(Now, "yyyymmdd_hhmm") & ext, _
FileFormat:=ThisWorkbook.FileFormat
End Sub
拡張子(.xlsx / .xlsm / .xlsb)を保持したまま、現在の日時付きで複製保存します。
9. 選択セルをアラート色(黄)に
Sub HighlightYellow()
Selection.Interior.Color = RGB(255, 255, 0)
End Sub
戻したい時は Selection.Interior.ColorIndex = xlNone を実行するか、上書きで別の色を指定してください。
10. 別シートに値だけ転記
Sub CopyValuesToSheet2()
Sheets("Sheet1").Range("A1:Z100").Copy
Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
※ シート名がハードコードされています。自分の環境に合わせて "Sheet1" / "Sheet2" を書き換えてください。
Mac で Excel 使ってる人へ
正直に書くと、ショートカットは Cmd 置換でだいたい同じですが、VBAはMac版Excelだと挙動が不安定です。FileSystemObject や Outlook.Application など、Windows 依存のオブジェクトを使うコードはエラーになります。
もし Mac 中心の作業なら、Google スプレッドシート + Apps Script の方が安定して動きます。同じ「ボタンで自動化」できて、しかもブラウザだけで完結。詳しくは「Googleスプレッドシート × ChatGPT で業務自動化」をどうぞ。
VBA で物足りなくなったら(エンジニア向け)
VBAの限界に達したら、外部連携が現実的です:
- Python + openpyxl / pandas: Excel ファイルをPythonで直接編集
- Microsoft Power Automate: GUI で業務フロー組める
- Azure Logic Apps: クラウドでExcelファイルの定期処理を自動化
- GitHub Actions + Python: 無料でExcel処理を毎日自動実行
「同じ作業を月100回やる人」は、VBAじゃなく Python に行きましょう。学習コストは1〜2週間ですが、その後の自動化範囲が桁違いに広がります。Udemyの「Excel VBA」コース一覧から、Pythonへ橋渡しする講座が¥1,500前後で買えます(セール時)。
まとめ:Excelの残業ゼロ宣言
覚えるショートカットは20個。VBAは10個コピペすれば、定型作業はだいたい片付きます。
これでも足りない人は、Excel以外のツール(Sheets / Python / Power Automate)に乗り換えるサイン。Microsoft 365 個人プランを月¥1,490払い続ける価値が本当にあるか、見直すきっかけにどうぞ。
関連書籍やコース:
- Excel関数の本: Amazonで「Excel関数 辞典」検索(関数の網羅性ならコレ一択)
- VBA入門コース: UdemyのExcel VBAコース(セールで¥1,500前後)
- Microsoft 365 個人: 公式サイトで月¥1,490

