Check Worksheet Name and Select if Meets Criteria

A

ainbinder

Hi everyone, i have what i think is a very easy question. I'm trying
to select all the worksheets in my workbook that start with the
"Data". i wrote this vba code, and even though i put a watch on the
left formula and it shows "Data" in the watch window, it never selects
the sheet. Any help would be much appreciated!!!!

Sub SelectCockpit()
'
' Selects all tabs with cockpit in first 6 digits

Dim wksSheet As Worksheet

Sheets(1).Activate
For Each wksSheet In Worksheets
If Left(wksSheet.Name, 4) = "Data" Then
wksSheet.Select
End If
Next wksSheet
 
S

smartin

ainbinder said:
Hi everyone, i have what i think is a very easy question. I'm trying
to select all the worksheets in my workbook that start with the
"Data". i wrote this vba code, and even though i put a watch on the
left formula and it shows "Data" in the watch window, it never selects
the sheet. Any help would be much appreciated!!!!

Sub SelectCockpit()
'
' Selects all tabs with cockpit in first 6 digits

Dim wksSheet As Worksheet

Sheets(1).Activate
For Each wksSheet In Worksheets
If Left(wksSheet.Name, 4) = "Data" Then
wksSheet.Select
End If
Next wksSheet


I learned something. It turns out selecting multiple worksheets is done
by passing an array to the Select method. Try this:

Sub SelectCockpit()
'
' Selects all tabs with cockpit in first 6 digits

Dim wksSheet As Worksheet
Dim SheetNames() As String
Dim i As Long

i = 1
Sheets(1).Activate
For Each wksSheet In Worksheets
If Left(wksSheet.Name, 4) = "Data" Then
ReDim Preserve SheetNames(1 To i)
SheetNames(i) = wksSheet.Name
i = i + 1
End If
Next wksSheet
Sheets(SheetNames).Select

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top