Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
DARREN FONG
 
Posts: n/a
Default not delete worksheets from names in a range

Is there anyway to delete worksheets where one worksheet contains a
range with the names of worksheets I DONT want to delete?
i.e I want to have a code that says "do not delete worksheets in the range
but delete all other worksheets"
  #2   Report Post  
Jason Clement
 
Posts: n/a
Default not delete worksheets from names in a range

You can create a subroutine in vba like this:

Sub delete()
'Tell Excel to not prompt the deletion confirmation
Application.DisplayAlerts = False

For Each sh In ThisWorkbook.Sheets
forDeletion = True

' Sheet1.Range("A1:A3") refers to the range of cells that
' hold the sheet needs we don't want to delete. You're better
' off using a named range to refer to those.
For Each n In Sheet1.Range("A1:A3")
If sh.Name = n.Value Then
forDeletion = False
Exit For
End If
Next n
If forDeletion Then
sh.delete
End If
Next sh
End Sub




"DARREN FONG" wrote:

Is there anyway to delete worksheets where one worksheet contains a
range with the names of worksheets I DONT want to delete?
i.e I want to have a code that says "do not delete worksheets in the range
but delete all other worksheets"

  #3   Report Post  
Rowan Drummond
 
Posts: n/a
Default not delete worksheets from names in a range

One way:

Sub DelShts()
Dim rng() As Variant
Dim i As Integer
Dim ans As Variant
Application.DisplayAlerts = False
rng = Range("A2:A6")
For i = Sheets.Count To 1 Step -1
On Error Resume Next
ans = Application.WorksheetFunction. _
Match(Sheets(i).Name, rng, 0)
If ans = Empty Then Sheets(i).Delete
ans = Empty
On Error GoTo 0
Next i
Application.DisplayAlerts = True
End Sub

Hope this helps
Rowan

DARREN FONG wrote:
Is there anyway to delete worksheets where one worksheet contains a
range with the names of worksheets I DONT want to delete?
i.e I want to have a code that says "do not delete worksheets in the range
but delete all other worksheets"

  #4   Report Post  
DARREN FONG via OfficeKB.com
 
Posts: n/a
Default not delete worksheets from names in a range

Jason,

Thanks for your help, however it does'nt seem to work

I think this is because "n" is not defined, I've tried a few things but
nothing works as yet

Cheers

Daz

Jason Clement wrote:
You can create a subroutine in vba like this:

Sub delete()
'Tell Excel to not prompt the deletion confirmation
Application.DisplayAlerts = False

For Each sh In ThisWorkbook.Sheets
forDeletion = True

' Sheet1.Range("A1:A3") refers to the range of cells that
' hold the sheet needs we don't want to delete. You're better
' off using a named range to refer to those.
For Each n In Sheet1.Range("A1:A3")
If sh.Name = n.Value Then
forDeletion = False
Exit For
End If
Next n
If forDeletion Then
sh.delete
End If
Next sh
End Sub

Is there anyway to delete worksheets where one worksheet contains a
range with the names of worksheets I DONT want to delete?
i.e I want to have a code that says "do not delete worksheets in the range
but delete all other worksheets"


--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...excel/200511/1
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
In Excel how do I delete or change the name of a range of cells? Naming and Deleting a Range Name Excel Discussion (Misc queries) 4 September 21st 08 11:00 PM
Deleting Range name's listed in the range address box. Satnam Patel Excel Discussion (Misc queries) 4 May 5th 05 01:42 PM
range names Pedro Excel Worksheet Functions 2 January 18th 05 03:38 AM
SUMIF across a range of worksheets Mike@Q Excel Worksheet Functions 3 November 24th 04 02:36 PM
range names Pedro Excel Worksheet Functions 0 November 9th 04 06:26 PM


All times are GMT +1. The time now is 06:12 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"