VBA ワークシート操作

ワークシートの追加

ワークシートオブジェクト.Add(Before, After, Count, Type)
Before:指定シートの前に追加
After:指定シートの後ろに追加
Count:追加するシート数を指定
Type:xlChart、xlWorksheetなど

Sub ワークシート追加()
    'アクティブシートの一つ前にシートを追加
    Worksheets.Add

    '先頭に追加
    Worksheets.Add Before:=Sheets(1)

    '末尾に追加
    Worksheets.Add After:=Sheets(Worksheets.Count)

    'Sheet1シートの前に追加
    Worksheets.Add Before:=Worksheets("Sheet1")

    'Sheet1シートの後に追加
    Worksheets.Add After:=Worksheets("Sheet1")

    '追加して名前の変更
    Worksheets.Add.Name = "aaa"
    
    '末尾に追加したシートに名前を付ける
    Dim ws As Worksheet
    Set ws = Worksheets.Add(After:=Sheets(Worksheets.Count))
    ws.Name = "bbb"

End Sub

ワークシートのコピー

Worksheetsオブジェクト.Copy Before(またはAfter):=”基準となるシート名”
Worksheets(Array(“シート名1”, “シート名2”, ・・・)).Copy Before(またはAfter):=”基準となるシート名”

Sub ワークシートコピー()
    'Sheet1シートの前に「data」シートをコピー
    Worksheets("data").Copy Before:=Worksheets("Sheet1")

    '末尾に「data」シートをコピーし名前を付ける
    Worksheets("data").Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "abc"
    
End Sub

ワークシートの移動

Worksheetsオブジェクト.Move Before(またはAfter):=”基準となるシート名”

Sub ワークシート移動()
    '「temp」シートを末尾に移動
    Worksheets("temp").Move after:=Worksheets(Worksheets.Count)
End Sub

ワークシートの削除

Worksheetオブジェクト.Delete

'「abc」シートを削除
Sub ワークシート削除()
    Application.DisplayAlerts = False
    Worksheets("abc").Delete
    Application.DisplayAlerts = True
End Sub

コメント