If this is VERY important to you, you might make an add-in.
here is a start (quick). let us know if this is the way forward.
1) all sheets are displayed
2) Click one and that sheet is selected (not working yet)
use the picture I have provided.
Private Sub UserForm_Initialize()
Dim Sht As Worksheet
Dim PictArray() As Control, LabelArray() As Control
Dim x As Byte
ReDim PictArray(1 To 30)
ReDim LabelArray(1 To 30)
x = 1
For Each Sht In Worksheets
Set PictArray(x) = Me.Controls.Add("Forms.Image.1", Sht.Name)
Set LabelArray(x) = Me.Controls.Add("Forms.Label.1", Sht.Name)
LabelArray(x).Caption = Sht.Name
LabelArray(x).TextAlign = 2
LabelArray(x).BackStyle = 0
LabelArray(x).BorderStyle = 0
LabelArray(x).AutoSize = True
PictArray(x).Picture = LoadPicture("C:\...\Sht.bmp")
PictArray(x).Width = 66
PictArray(x).Height = 24
PictArray(x).Left = 5 + 71 * ((x + 2) Mod 3)
LabelArray(x).Left = PictArray(x).Left + 19
PictArray(x).Top = 5 + CByte((x - 2) / 3) * 30
LabelArray(x).Top = PictArray(x).Top + 11
Me.Caption = "Switch to Sheet ..."
Me.Height = PictArray(x).Top + 54
Me.Width = PictArray(x).Width * 3 + 30
x = x + 1
Next
End Sub
To test:
Make a userform. Put this code in and make sure that this link is correct:
"C:\...\Sht.bmp"
Bookmarks