新規シートを右側に作るマクロ

ワークシートの追加位置を前に指定(左側)につくったり、後ろ(右側)に作ったりり自由にできるようにします。また、 新規シートを末尾(右端)につくり名前を現在時間にするマクロも紹介します。

新規シートを右側に作る3行マクロ

リンクユニット


新規シートを右側に作るマクロ

 通常、シートの挿入をすると、表示していたシートの左側に挿入されて、順番を入れ替えなければならないので、とても面倒です。

 毎回、使いにくい思いをしているのなら、マクロを作って、
 右側に挿入するようにしてみたらどうでしょう。
(サンプルファイルは、こちらから 3行マクロ2回サンプルデータ
Excelバージョン:Excel20192016201320102007

新規シートを右側に作る Sheets.Add After:=ActiveSheet  

マクロの記録で、シートを追加する記録をとると、

コードは、
Sub Macro1()
    Sheets("Sheet1").Select
    Sheets.Add
End Sub
    
Addは、新しいワークシートを追加し、追加したワークシートをオブジェクトとして返すメソッドです。 これだと、単にシートを追加する命令だけです。
そこで、命令に対する条件を追加して
After:=ActiveSheet 
で現在のシートの後方(右隣)という意味になります。
追加したコードです。
Sub 新規シートを右側に作るマクロ()
  Sheets.Add After:=ActiveSheet 
End Sub    
    
Sheets("Sheet1").Select の部分は、操作上記録されてしまったコードなので、省略しています。
サンプルでは、マクロをボタンに割り付けています。
ボタンを押してマクロを実行すると、シートはアクティブシートの常に右側に作成されます。

Add(メソッド)の引数

 ところで、Addという動作(メソッド)には、Afterのほかにも、
 引数があります。

ワークシートの追加位置を前に指定する引数 Before
ワークシートの数を指定できる引数 Count
ワークシートの種類を指定する引数 Type
新規シートを左側につくるマクロは、追加位置を前に指定してやります。

コードです。
Sub 新規シートを左側に作るマクロ()
        Sheets.Add Before:=ActiveSheet
End Sub
    

新規シートを末尾(右端)に、2枚追加


新規シートを末尾(右端)に、2枚追加にするマクロは、数を指定する引数Countを使います。
コードです。
Sub 新規シートを末尾に2枚追加する()
        Sheets.Add After:=Worksheets(Worksheets.Count), Count:=2
End Sub

新規シートの名前を現在時間にするマクロ

新規シートを末尾(右端)につくり、シートの名前を現在時間にするマクロは、次のように書きます。
コードです。
Sub 新規シートを末尾に作るマクロ()
        Sheets.Add(After:=Worksheets(Worksheets.Count))_
        .Name = Format(Now(), "h時mm分ss秒")
End Sub

新規シートを右側につくり名前を売り上げにする

Sub 新規シートを末尾に作るマクロ()
        Sheets.Add(After:=Worksheets(Worksheets.Count))_
        .Name = "売り上げ")
End Sub