2017-06-02 70 views
0

我想刪除工作簿中的所有工作表(Sheet1到Sheet6)。我所做的是,我已經使用了用戶表單,並通過點擊「刪除數據」按鈕,我想刪除提到的表單上的所有數據。我的代碼到目前爲止..VBA msgbox工作表刪除用戶表單選項

Private Sub CommandButton4_Click() 
Unload Me 
Dim ws As Worksheets 
Application.DisplayAlerts = False 
Application.ScreenUpdating = False 
For Each ws In Worksheets 
If MsgBox("This command will delete all data?", vbYesNo) = vbNo Then UserForm1.Show Else ws.Delete 
End If 
Next ws 
Application.DisplayAlerts = True 
Application.ScreenUpdating = True 
UserForm1.Show 
End Sub 

這一個不工作。我是VBA的新手,這個循環對我來說太複雜了。任何想法我怎麼能這樣做?由於

+1

「它不工作」是指什麼,這就是用戶發送到支持電子郵件和氣死,因爲你不能告訴他們的實際問題是什麼。請閱讀[問]。你的代碼想要縮進。 –

+1

您想要刪除工作表或刪除工作表中的數據嗎?而且,如果用戶在每張紙上按下「否」,那麼您希望多次顯示用戶表單? –

+0

如果您只有工作表1至6,則無法刪除最後一張工作表。該工作簿至少需要1張表。如果您只想刪除數據,請清除ws.Cells.ClearContents表中的內容。由於你是VBA的新手,我強烈建議你花些時間閱讀網絡上的一些教程,因爲循環沒有任何複雜的部分。 – Sorceri

回答

0

只是像

For Each ws In ActiveWorkbook.Sheets 
    ws.UsedRange.ClearContents 
Next