2017-06-02 7 views
0

ブック内のすべてのシート(Sheet1〜Sheet6)を削除します。私が作ったのは、私がuserformを使い、 "delete data"ボタンをクリックすることで、上記のシートのすべてのデータを削除したいということです。私のコードはこれまで通り..VBA msgboxシートを削除するuserformオプション

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

「それは動作しません」のようなだけで何かが何を意味する、それは、ユーザーがサポート電子メールに送るものだとあなたは彼らの実際の問題が何であるかを言うことができないので、あなたにナットを駆動します。 [ask]をお読みください。そしてあなたのコードはインデントされたがっています。 –

+1

シートを削除するか、シート内のデータを削除しますか?また、ユーザーがすべてのシートでnoを押すと、何回もユーザーフォームを表示したいのですか? –

+0

シート1〜6しかない場合は、最後のシートを削除できません。ワークブックには少なくとも1枚必要です。データを削除したい場合は、シートws.Cells.ClearContentsの内容を消去します。あなたはVBAの初心者であるため、ループについて実際には複雑なことは何もないので、時間をかけてウェブのチュートリアルの一部を見直すことを強くお勧めします。 – Sorceri

答えて

0

For Each ws In ActiveWorkbook.Sheets 
    ws.UsedRange.ClearContents 
Next 
関連する問題