2017-06-02 91 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 
相关问题