Hi okili
Welcome to the forum
Use this code by John Walkenback
Private Sub CommandButton1_Click()' The ok button
Dim UserSheet As Object
On Error Resume Next
Set UserSheet = Sheets(ListBox1.Value)
If UserSheet.Visible Then
UserSheet.Activate
Else
OriginalSheet.Activate
End If
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim SheetData() As String
Dim ShtCnt As Integer
Dim ShtNum As Integer
Dim Sht As Object
Dim ListPos As Integer
Set OriginalSheet = ActiveSheet
ShtCnt = ActiveWorkbook.Sheets.Count
ReDim SheetData(1 To ShtCnt, 1 To 3)
ShtNum = 1
For Each Sht In ActiveWorkbook.Sheets
If Sht.Visible = True Then
ListPos = ShtNum - 1
SheetData(ShtNum, 1) = Sht.Name
SheetData(ShtNum, 2) = Sht.Range("a1")
SheetData(ShtNum, 3) = ShtNum
ShtNum = ShtNum + 1
End If
Next Sht
With ListBox1
.ColumnWidths = "65 pt; 65 pt; 20 pt"
.List = SheetData
End With
End Sub
Bookmarks