Avatar billede JeppeH Juniormester
09. november 2011 - 17:00 Der er 8 kommentarer og
1 løsning

VBA - Skjul faner (med et tvist...)

Jeg vil have vist de faner jeg skal bruge og skjule alle andre.
I eksemplet her, skal jeg bruge fanerne Start, Medlemmer og Grupper. Jeg har selv bikset en (ikke fungerende) løsning sammen... mon du kan hjælpe mig på rette vej? Jeg skal bruge en slags IN LIST funktion for de faneblade jeg ønsker synlige.


    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 ark = (Start;Medlemmer;Grupper)
        Then: Sheets.Visible = True
        Else: Sheets.Visible = False
 
    Next ws

    Sheets(Start).Select
    Application.ScreenUpdating = True
    End Sub



Det kan sikkert gøres meget pænere end ovenstående ;o)
På forhånd tak!

Venlig hilsen
Jeppe
Avatar billede supertekst Ekspert
09. november 2011 - 17:33 #1
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
Avatar billede JeppeH Juniormester
10. november 2011 - 11:50 #2
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)
Avatar billede supertekst Ekspert
10. november 2011 - 13:04 #3
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.
Avatar billede JeppeH Juniormester
11. november 2011 - 11:46 #4
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)
Avatar billede supertekst Ekspert
11. november 2011 - 13:04 #5
Du får et eksempel - så kan du betale med lidt flere point...
Avatar billede JeppeH Juniormester
11. november 2011 - 13:18 #6
Det gør jeg gerne, men hvordan??
Avatar billede supertekst Ekspert
11. november 2011 - 13:47 #7
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
Avatar billede JeppeH Juniormester
11. november 2011 - 14:56 #8
Super! Tak for hjælpen :o)
Avatar billede supertekst Ekspert
11. november 2011 - 15:36 #9
Selv tak..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester