【動画解説】シート コピー・削除・移動のショートカットと便利マクロ


エクセルで、1つのブックに大量のシートを入れている場合。

単純なマウス操作しただけでは、ワークシートの切り替え・コピー・移動などの操作に時間がかかってしまいます。

特に、Excel2007になってから操作性がかなり悪くなったように思います。

そこで、この記事では、ショートカットキーやマクロを駆使して、ワークシート関連の操作をすばやく行う方法を解説していきます。

※下記を再生しても音は出ませんので、音が出せない環境でもご安心ください。

ワークシートの操作関連のショートカットキー

左右のワークシートに移動するショートカットキー

ワークシート間の移動は、

右のワークシートに移動

CtrlPageDownを押します。

worksheetshortcut_1_1
左のワークシートに移動

CtrlPageUpを押します。

worksheetshortcut_1_2

で行います。

最初・最後のワークシートに移動するショートカットキー

残念ながら、ショートカットキーはありませんので、マウスで操作をするしかありません。

なお、マウスで操作をする場合、最近のエクセルでは一番最初・一番最後のシートを選択するボタンが消えてしまっているのでびっくりした方もいるかもしれませんが。

Ctrlを押しながら、シート選択部の三角マークを押すことで、先頭または最後のシートに移動できます。

最後のワークシートに移動

Ctrlを押しながら、右向きの三角を左クリックします。

worksheetshortcut_1_3
先頭のワークシートに移動

Ctrlを押しながら、左向きの三角を左クリックします。

worksheetshortcut_1_4

複数のワークシートを選択するショートカットキー

次の操作で、隣り合った複数のワークシートを同時に選択できます。

右のワークシートも合わせて選択

CtrlShiftPageDownを押します。

worksheetshortcut_1_5
左のワークシートも合わせて選択

CtrlShiftPageUpを押します。

worksheetshortcut_1_6

ワークシートを追加するショートカットキー

ShiftF11で、ワークシートを追加できます。

worksheetshortcut_1_7

ワークシートを削除するショートカットキー

次のどちらかの操作で、ワークシートを削除できます。

なお、Altキーを使うショートカットの場合には、複数のキーを同時に押すのではなく1つ1つのキーを「順番」に押していく必要がありますので、ご注意ください。

操作方法 その1:昔のメニューを操作する代わりのキー操作

AltEL順番に押します

worksheetshortcut_1_8
操作方法 その2:リボンを操作する代わりのキー操作

AltHDS順番に押します

worksheetshortcut_1_9

操作速度を追求するのであれば、「その1」のほうがキーボードを打つ回数が少なくて済むのでおすすめです。

一方で、「その2」のほうは、1つ1つのキーを押すごとにリボンを選択していく様子が見えるので意味がわかりやすいです。

わかりやすさを重視するのであれば「その2」を使ってください。

ワークシートをコピー・移動するショートカットキー

AltHOM順番に押します

worksheetshortcut_1_10

ワークシートコピー・移動のダイアログが開きますので、挿入先などを指定してください。

なお、この操作に関しては、ショートカットキーを使うよりもマウスで操作をしたほうが簡単かもしれません。

マウスで操作する場合、シート名のタブにマウスカーソルを合わせて、次の操作をすることで移動・コピーができます。

マウスでシートを移動させる場合

ドラッグアンドドロップ

マウスでシートをコピーする場合

Ctrl+ドラッグアンドドロップ

特に、元のシートの場所の近くにコピーをする場合には、マウスを使ったほうが非常に簡単ですので、お試しください。

ワークシートの名前を変更するショートカットキー

AltHOR順番に押します

worksheetshortcut_1_11

シート名を入力する状態になりますので、変更したいシート名を入力してください。

シートの順番を並び替えるVBAマクロ

シートが大量にあるとき、シートの順番を手作業で並び替えるのは大変です。

そこで、いくつかの場合に使えるVBAマクロを作ってみました。

シートの順番を逆順にする

今あるシートの並び順を逆にするVBAマクロです。

実行すると、シートが逆順に並べ変わります。

Sub シート逆順()
  WSCount = Sheets.count
  ReDim WSsName(1 To WSCount, 1 To 1)
  For c = 1 To WSCount
    WSsName(c, 1) = Sheets(WSCount - c + 1).Name
  Next
  For c = 1 To WSCount
    Sheets(WSsName(c, 1)).Move before:=Sheets(c)
  Next
End Sub

シートの順番を「シート名の昇順」で並び替える

シートを、シート名の昇順で並び替えるVBAマクロです。

実行すると、シートが「シート名の昇順」で並び変わります。

Sub シート昇順に並び替え()
  WSCount = Sheets.count
  
  ReDim WSsName(1 To WSCount, 1 To 1)
  
  For c = 1 To WSCount
    WSsName(c, 1) = Sheets(c).Name
  Next

  Sheets.Add
  Set TSheet = ActiveSheet
  
  With TSheet
    Set TRange = .Range(.Cells(1, 1), .Cells(WSCount, 1))
    TRange.Value = WSsName
    TRange.Sort Key1:=TRange, Order1:=xlAscending
    WSsName = TRange.Value
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
  End With

  For c = 1 To WSCount
    Sheets(WSsName(c, 1)).Move before:=Sheets(c)
  Next

End Sub

シートを任意の順番で並び替える

まず、最初にマクロ「任意の順番に並び替え1」を実行すると、「並び替え」というシートに、現在のシート名の一覧が出力されます。

そこで、シート名を自分が並べ替えたい順番に、手動で並べ替えてください。

その後、マクロ「任意の順番に並び替え2」を実行すると、その順番でシートが並べ変わります。
※「並べ替え」シートは、自動で削除されます

Const TSheetName As String = "並び替え"

Sub 任意の順番に並び替え1()
  WSCount = Sheets.count  
  ReDim WSsName(1 To WSCount, 1 To 1)
  For c = 1 To WSCount
    WSsName(c, 1) = Sheets(c).Name
  Next

  Sheets.Add before:=Sheets(1)
  Set TSheet = ActiveSheet
  With TSheet
    Set TRange = .Range(.Cells(1, 1), .Cells(WSCount, 1))
    TRange.Value = WSsName
    .Name = TSheetName
  End With
End Sub

Sub 任意の順番に並び替え2()
'並び替えシートがあるので、全体のシート数から1引く
  WSCount = Sheets.count - 1
  ReDim WSsName(1 To WSCount, 1 To 1)

  Set TSheet = Sheets(TSheetName)
  With TSheet
    Set TRange = .Range(.Cells(1, 1), .Cells(WSCount, 1))
    WSsName = TRange.Value
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
  End With

  For c = 1 To WSCount
    Sheets(WSsName(c, 1)).Move before:=Sheets(c)
  Next
End Sub

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。