Const synligeArk = "Start Medlemmer Grupper"
Sub Test()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim ark As String
ark = ActiveSheet.Name
For Each ws In ActiveWorkbook.Worksheets
ws.Select
If InStr(synligeArk, ws.Name) > 0 Then
ws.Visible = True
Else
ws.Visible = False
End If
Next ws
Sheets("Start").Select
Application.ScreenUpdating = True
End Sub
Hmm.. den fejler ved ws.Select
Desuden var tanken at kunne vise forskellige 'klumper' af ark alt efter hver jeg skal bruge. Altså vil jeg lave en makro for hver gruppe, som jeg kan tildele knapper.
Der er det smart med grupperingen af de synlig ark. Jeg kan bare ikke få det til at virke ;o)
Jeg har kørt test på koden med 6 ark, hvoraf de 3 var de navngivne - uden problemer.
Selv valg af grupper kan evt-. ske via en userform, hvor den ønskede gruppe kan vælges.
Ok - Jeg fik det også til at virke i et tomt ark første gang.
Men hvad når du kører makroen anden gang med andre ark. Fx første gang vises 1,2,3 og anden gang vises 2,4,5 hvor alle andre ark holdes skjult.
Userform er desværre ikke min stærke side... :o)
Du får et eksempel - så kan du betale med lidt flere point...
Det gør jeg gerne, men hvordan??
Hvis du vil have hele testfilen - så send en mail.
@-adresse under min profil..
Koden i Userform:
Dim ws As Worksheet, arkNavn As String
Private Sub CommandButton1_Click()
visAlleArk
Application.ScreenUpdating = False
With Me.ListBox1
For f = 0 To .ListCount - 1
If .Selected(f) = True Then
ActiveWorkbook.Sheets(.List(f)).Visible = True
Else
ActiveWorkbook.Sheets(.List(f)).Visible = False
End If
Next f
End With
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_activate()
Rem vis alle arknavn i listen og vis alle ark
Me.ListBox1.Clear
For Each ws In ActiveWorkbook.Worksheets
Me.ListBox1.AddItem ws.Name
Next ws
visAlleArk
End Sub
Private Sub visAlleArk()
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ActiveWorkbook.Sheets(ws.Name).Visible = True
Next ws
Application.ScreenUpdating = True
End Sub
Super! Tak for hjælpen :o)