2016-09-26 10 views
1

既存のExcelファイルにワークシート・コール "マスター・レコード"を追加します。以下のコードでは、ワークシートを作成することができましたが、ワークシートがすでに終了している場合は、別の名前(例:Sheet2、Sheet3)のシートを作成しています。外部ワークブックにワークシートを追加

私は他のシートを作成したくありません。メッセージを反映するだけではすでに存在しています。不要な用紙の作成を避ける方法を教えてください。

Dim Wb As Workbook 
Dim ws As Worksheet 
Set Wb = Workbooks.Open(TextBox2.Text) 
Set ws = Wb.Sheets.Add 
    ws.Name = "Master Records" 

Wb.Save 
Wb.Close 

答えて

0

存在するかどうかを確認する必要があります。

Dim exists as Boolean 
Dim Wb As Workbook 
Dim ws As Worksheet 
Set Wb = Workbooks.Open(TextBox2.Text)  


exists = False 

For i = 1 To Worksheets.Count 
    If Worksheets(i).Name = "Master Records" Then 
     exists = True 
    End If 
    If exists = True Then 'Exit loop early if it finds that the sheet exists 
     Exit For 
    End If 
Next i 

If Not exists Then 
Set ws = Wb.Sheets.Add 
    ws.Name = "Master Records" 
Else 
    MsgBox("Sheet Exists") 
End If 
+0

まだシート2を追加しています。私はMaster RecordsとSheet1というシートを持っています。コードを実行すると、すでにシートが存在しているのに別のシートを作成しているというメッセージが表示されます。 –

+0

残念です。私はこれを以前にテストする時間がなく、今更新しました - Set ws = wb.sheets.Addを移動する必要がありました。 –

+0

@ZaidShaikhそれはあなたのために働いたのですか? –

関連する問題