次の方法で共有


ワークシートを作成または置換する

次のコード例では、ワークシートが存在するかどうかを判断する方法と、ワークシートを作成または置換する方法を示します。

サンプル コードの提供元: Tom Urtis、 Atlas Programming Management

ワークシートが存在するかどうかの判断

この例では、Worksheet オブジェクトの Name プロパティを使用して、"Sheet4" という名前のワークシートが存在するかどうかを判断する方法を示します。 ワークシートの名前は、 mySheetName 変数で指定されます。

Sub TestSheetYesNo()
    Dim mySheetName As String, mySheetNameTest As String
    mySheetName = "Sheet4"
    
    On Error Resume Next
    mySheetNameTest = Worksheets(mySheetName).Name
    If Err.Number = 0 Then
        MsgBox "The sheet named ''" & mySheetName & "'' DOES exist in this workbook."
    Else
        Err.Clear
        MsgBox "The sheet named ''" & mySheetName & "'' does NOT exist in this workbook."
    End If
End Sub

ワークシートの作成

この例では、"Sheet4" という名前のワークシートが存在するかどうかを判断する方法を示します。 ワークシートの名前は、 mySheetName 変数で指定されます。 ワークシートが存在しない場合、この例では Worksheets オブジェクトの Add メソッドを使用して "Sheet4" という名前のワークシートを作成する方法を示します。

Sub TestSheetCreate()
    Dim mySheetName As String, mySheetNameTest As String
    mySheetName = "Sheet4"
    
    On Error Resume Next
    mySheetNameTest = Worksheets(mySheetName).Name
    If Err.Number = 0 Then
        MsgBox "The sheet named ''" & mySheetName & "'' DOES exist in this workbook."
    Else
        Err.Clear
        Worksheets.Add.Name = mySheetName
        MsgBox "The sheet named ''" & mySheetName & "'' did not exist in this workbook but it has been created now."
    End If
End Sub

ワークシートの置換

この例では、"Sheet4" という名前のワークシートが存在するかどうかを判断する方法を示します。 ワークシートの名前は、 mySheetName 変数で指定されます。 ワークシートが存在しない場合、この例では Worksheets オブジェクトの Delete メソッドを使用して既存のワークシートを削除し、"Sheet4" という名前の新しいワークシートを作成する方法を示します。

大事な "Sheet4" という名前の元のワークシートのすべてのデータは、ワークシートが削除されると削除されます。

Sub TestSheetReplace()
    Dim mySheetName As String
    mySheetName = "Sheet4"
    
    Application.DisplayAlerts = False
    On Error Resume Next
    Worksheets(mySheetName).Delete
    Err.Clear
    Application.DisplayAlerts = True
    Worksheets.Add.Name = mySheetName
    MsgBox "The sheet named ''" & mySheetName & "'' has been replaced."
End Sub

投稿者について

MVP Tom Urtis は、シリコン バレーにある Atlas Programming Management の創業者です。Atlas Programming Management は、Microsoft Office および Excel に関するあらゆるビジネス ソリューションを提供する企業です。 Tom は 25 年以上のビジネス管理および Microsoft Office アプリケーション開発の経験があり、『Holy Macro! It's 2,500 Excel VBA Examples』の 共著者でもあります。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。