Need help with deleteing sheets using VBA
I wouldn't even worry with the array, you've got all of the sheet names
needing to be deleted in SheetsToDel(), just use it:
Application.DisplayAlerts = False ' prevent nags
for y = Lbound(SheetsToDel) to UBound(SheetsToDel)
If SheetsToDel(y)<"" Then
Sheets(SheetsToDel(y)).Delete
End IF
Next
Application.DisplayAlerts=True
Take note of the way the reference to the SheetsToDel array is made in the
LBound() and UBound statements also.
"Dan Thompson" wrote:
Ok the object of this code is that once it is done running that It will
cumulatively Select all sheets in a workbook that are NOT named "STable" or
"SChart" much in the same way as if you were to manually hold down the Cntrl
button and start clicking (selecting) multiple sheets with in a workbook
Why doesn't this work ?
here is my code:
Sub Test()
Dim y as integer
Dim t as interger
For y = 1 To SheetCount
If Not Sheets(y).Name = "STable" Then
If Not Sheets(y).Name = "SChart" Then
t = t + 1
ReDim Preserve SheetsToDel(t)
SheetsToDel(t) = Sheets(y).Name
End If
End If
Next y
For y = 1 To UBound(SheetsToDel())
If y = UBound(SheetsToDel()) Then
StrA = Chr(34) + SheetsToDel(y) + Chr(34)
Else
StrA = Chr(34) + SheetsToDel(y) + Chr(34) + ","
End If
StrB = StrB + StrA
Next y
Sheets(Array(StrB)).Select
End Sub
This doesn't work and yet if I just try this line of code:
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
It works. My StrB is the same thing as manually typing in the string the
the line above so what gives any thoughts ??
|