Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
My code below works as long as it finds that tab color, but in the event
there are no tabs with this colorindex it crashes Excel completely. My tabs colors are assigned earlier in the process by criteria. It is looking for seasonal employees, which we will not have until March so when this part of the code runs it crashes. Is there an easy workaround? Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws Worksheets(s).Select |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If no tabs are found, you are telling Excel to select a non-existent
worksheet using an empty array as the worksheet name. That's probably the reason for the crash. If any tab has the proper color the value of i will not be zero so you can use this below the "Next ws" line... '-- If i 0 Then Worksheets(s).Select Else MsgBox "No worksheets found. " End If -- Jim Cone Portland, Oregon USA "jeremiah" wrote in message My code below works as long as it finds that tab color, but in the event there are no tabs with this colorindex it crashes Excel completely. My tabs colors are assigned earlier in the process by criteria. It is looking for seasonal employees, which we will not have until March so when this part of the code runs it crashes. Is there an easy workaround? Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws Worksheets(s).Select |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Fortunately have have the variable i:
Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws If i < 0 Then Worksheets(s).Select End If End Sub -- Gary''s Student - gsnu200831 "jeremiah" wrote: My code below works as long as it finds that tab color, but in the event there are no tabs with this colorindex it crashes Excel completely. My tabs colors are assigned earlier in the process by criteria. It is looking for seasonal employees, which we will not have until March so when this part of the code runs it crashes. Is there an easy workaround? Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws Worksheets(s).Select |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Once again, you guys have saved me. Thank you...
"Gary''s Student" wrote: Fortunately have have the variable i: Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws If i < 0 Then Worksheets(s).Select End If End Sub -- Gary''s Student - gsnu200831 "jeremiah" wrote: My code below works as long as it finds that tab color, but in the event there are no tabs with this colorindex it crashes Excel completely. My tabs colors are assigned earlier in the process by criteria. It is looking for seasonal employees, which we will not have until March so when this part of the code runs it crashes. Is there an easy workaround? Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws Worksheets(s).Select |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
you don't even need to use an array, and thus have to worry about a
non-existent sheet. Sub Select1seasonal() Dim i As Long For i = 1 To Worksheets.Count If Worksheets(i).Tab.ColorIndex = 37 Then Worksheets(i).Select False End If Next End Sub -- Gary K "jeremiah" wrote in message ... My code below works as long as it finds that tab color, but in the event there are no tabs with this colorindex it crashes Excel completely. My tabs colors are assigned earlier in the process by criteria. It is looking for seasonal employees, which we will not have until March so when this part of the code runs it crashes. Is there an easy workaround? Sub Select1seasonal() Dim s() As String Dim ws As Worksheet Dim i As Integer i = 0 For Each ws In Worksheets If ws.Tab.ColorIndex = 37 Then ReDim Preserve s(i) s(i) = ws.Name i = i + 1 End If Next ws Worksheets(s).Select |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
In Excel it would help a lot to be able to sort rows by color | Excel Discussion (Misc queries) | |||
Excel sort by Fill Color by custom list sort | Excel Discussion (Misc queries) | |||
Is there a way to Sort data by color in Excel? | Excel Discussion (Misc queries) | |||
Font color crashes! | Excel Discussion (Misc queries) | |||
Excel 2000 VBA Sort without Select | Excel Programming |