Sub FindSheetNames()
Dim startsheet As Variant
Dim endsheet As Variant
Dim startsheetnum As Long
Dim endsheetnum As Long
Dim i As Long
Dim j As Long
Dim k As Long
Dim SheetCount As Long
startsheet = Range("startsheet").Value
endsheet = Range("endsheet").Value
SheetCount = ActiveWorkbook.Sheets.Count
For i = 1 To SheetCount
If Sheets(i).Name = startsheet Then
startsheetnum = i
ElseIf Sheets(i).Name = endsheet Then
endsheetnum = i
End If
Next i
k = 1
For j = startsheetnum + 1 To endsheetnum - 1
Sheets("Sheet1").Select
Cells(k, 1) = Sheets(j).Name
k = k + 1
Next j
End Sub
Sub GimmeSheetNames()
Dim wSheetNames() As String
Dim betweenTheSheets As Integer
Dim pullNames As Boolean
betweenTheSheets = -1
For Each wSheet In ThisWorkbook.Worksheets
If wSheet.Name = "End" Then
pullNames = False
End If
If pullNames Then
betweenTheSheets = betweenTheSheets + 1
ReDim Preserve wSheetNames(0 To betweenTheSheets)
wSheetNames(betweenTheSheets) = wSheet.Name
' MsgBox Prompt:="wSheetNames(" & betweenTheSheets & ") = " & wSheetNames(betweenTheSheets)
End If
If wSheet.Name = "Start" Then
pullNames = True
End If
Next wSheet
End Sub
Option Explicit
Sub GetWSNames()
Dim ws As Worksheet
Dim arrWSnms()
Dim I As Long
For Each ws In Worksheets
Select Case ws.Name
Case "Start", "End"
' do nothing
Case Else
ReDim Preserve arrWSnms(I)
arrWSnms(I) = ws.Name
I = I + 1
End Select
Next ws
MsgBox Join(arrWSnms, ",")
End Sub