Oprettet ons. d. 09. november 2011 kl. 17:00:14

yopoi
yopoi (20.670 point. Point ude: 0)

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

Skrevet ons. d. 09. november 2011 kl. 17:33:24| #1

supertekst
supertekst (139.499 point)
supertekst-it.dk
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

Skrevet tor. d. 10. november 2011 kl. 11:50:19| #2

yopoi
yopoi (20.670 point)
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)

Skrevet tor. d. 10. november 2011 kl. 13:04:03| #3

supertekst
supertekst (139.499 point)
supertekst-it.dk
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.

Skrevet fre. d. 11. november 2011 kl. 11:46:35| #4

yopoi
yopoi (20.670 point)
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)

Skrevet fre. d. 11. november 2011 kl. 13:04:52| #5

supertekst
supertekst (139.499 point)
supertekst-it.dk
Du får et eksempel - så kan du betale med lidt flere point...

Skrevet fre. d. 11. november 2011 kl. 13:18:31| #6

yopoi
yopoi (20.670 point)
Det gør jeg gerne, men hvordan??

Skrevet fre. d. 11. november 2011 kl. 13:47:12| #7

supertekst
supertekst (139.499 point)
supertekst-it.dk
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

Skrevet fre. d. 11. november 2011 kl. 14:56:47| #8

yopoi
yopoi (20.670 point)
Super! Tak for hjælpen :o)

Skrevet fre. d. 11. november 2011 kl. 15:36:11| #9


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Diagram i Excel

Oprettet den 24. maj 2013 kl. 22.40
h_s giver 200 point for svar | Giv et svar »

Kan man bruge anden kode i Excel end VBA og ...

Oprettet den 24. maj 2013 kl. 14.32
anthonsen giver 30 point for svar | Giv et svar »

Hjælp til formel

Oprettet den 24. maj 2013 kl. 12.48
boro23 giver 30 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Fem smarte funktioner i din Mac som du sikkert ikke kender

Her har du fem muligheder for at tweake din Mac på en fed måde.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Ny opfindelse: Oplad din mobil på 20 sekunder

Måske er det snart slut med at lade mobilen op hver aften. Med ny opfindelse kan telefonen få fuld energi på sølle 20 sekunder.


Nyheder fra Computerworld

Teaser billede

Galleri: De 10 vildeste datacentre i verden

I en gammel kirke, i et oppusteligt telt, på nedlagte militæranlæg eller midt i ørkenen. Der er ingen grænser for, hvor man kan banke et datacenter op. Her er de 10 sejeste anlæg i verden. I...


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger