How to delete worksheet based on cell value in Excel?
Supposing, I have multiple worksheets within a workbook, now, I want to delete the sheets based on cell value. For example , if the specific cell A1 contains the text “KTE”, all of the sheets which cell A1 has this text are needed to be deleted at once. This article may help you to deal with this task in Excel.
Recommended Excel Productivity Tools
Here, I will introduce a code for you to delete all sheets which the specific cell has a certain value, please do as follows:
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Delete worksheet based on cell value:
Sub deletesheetbycell() 'Updateby Extendoffice 20161008 Dim shName As String Dim xName As String Dim xWs As Worksheet Dim cnt As Integer shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _ "", , , , , 2) Application.DisplayAlerts = False cnt = 0 For Each xWs In ThisWorkbook.Sheets If xWs.Range("A1").Value = shName Then xWs.delete cnt = cnt + 1 End If Next xWs Application.DisplayAlerts = True MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel" End Sub
Note: In the above code, A1 is the specific cell which contains certain text that you want to delete the sheets based on.
3. Then press F5 key to run this code, and a prompt box is popped out to remind you to input the specific value that you want to delete the sheets based on, see screenshot:
4. And then click OK button, all the sheets which cell A1 has the text KTE have been deleted at once. See screenshot:
Recommended Productivity Tools for Excel
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 17 days agoquick question, the above code works for me for deleting worksheets which contain the value which is entered, but what if i want to delete worksheets which do not contain value entered. I tried replacing the "=" operator with the <>" operator, but it does not work. Thanks!