Avatar billede Mathias- Nybegynder
26. december 2011 - 00:26 Der er 16 kommentarer og
1 løsning

skjule rækker

'jeg er gået lidt i stå.. prøvet at lave en macro, som skjuler række 17,
'hvis række 17 er skult i forvejen, så skal den skule række 16 i stedet,
'hvis række 16 er skult i forvejen, så skal den skjule række 15 i stedet,
'osv. indtil række 5. Række 5 må skjules, men det må række 4 ikke.
' tilsvarende vil jeg gerne lave en macro, som gør det omvendte.
'altså vise række 5, hvis række 5 er vist, så vis røække 6 osv. indtil række 17.
'række 17 må gerne vises
Avatar billede Ialocin Novice
26. december 2011 - 09:40 #1
Hej Mathias

Glædelig Jul.

Hvordan har du tænkt dig at aktivere macroen ?

Med venlig hilsen, Nicolai
Avatar billede KurtOA Praktikant
26. december 2011 - 11:32 #2
Her er 2 eksempler du måske kan bruge som "byggesten" - 2 makroer der hhv viser  hvordan man skjuler en række ad gangen eller viser 1 række ad gangen...


Sub vis()
Range("A5").Select
For x = 1 To 10
If ActiveCell.EntireRow.Hidden = True Then
ActiveCell.EntireRow.Hidden = False
End If
ActiveCell.Offset(1, 0).Select

Next
End Sub

Sub skjul()

Range("A15").Select
For x = 1 To 10
If ActiveCell.EntireRow.Hidden = False Then
ActiveCell.EntireRow.Hidden = True
End If
ActiveCell.Offset(-1, 0).Select

Next
End Sub


mvh Kurt
Avatar billede Mathias- Nybegynder
26. december 2011 - 13:24 #3
i lige måde nicolai - macroen skal aktiveres med knap
Avatar billede Mathias- Nybegynder
26. december 2011 - 13:43 #4
kurt, din macro virker næsten - den skal bare KUN skjule én celle pr. gang. Din skjule ALLE celler, dog én efter en ..? :-)
Avatar billede Ialocin Novice
26. december 2011 - 15:10 #5
Hej Mathias

Ønsker du ikke hele rækken skjult ??

Med venlig hilsen, Nicolai
Avatar billede Mathias- Nybegynder
26. december 2011 - 15:19 #6
Min seneste besked var noget sludder!

Jeg ønsker hele rækken skjult - den skal bare KUN skjule én række pr. gang jeg kører makroen. Kurts skjuler ALLE rækker ved kørsel af makroen, dog én efter en ..? :-)
Avatar billede supertekst Ekspert
26. december 2011 - 15:32 #7
Sub skjul()
    For r = 17 To 5 Step -1
        If Rows(r).Hidden = False Then
            Rows(r).Hidden = True
            Exit For
        End If
    Next r
End Sub
Sub vis()
    For r = 5 To 17
        If Rows(r).Hidden = True Then
            Rows(r).Hidden = False
            Exit For
        End If
    Next r
End Sub
Avatar billede KurtOA Praktikant
26. december 2011 - 15:33 #8
Jeg her ikke helt 100% sikker på at jeg forstår hvornår det er du vil skjule - du skriver at hvis række 17 er skjult skal række 16 skjules - hvad hvis ingen rækker er skjult?

prøv disse 2 istedet:
skjul makroen skjuler intet hvis række 17 ikke er skjult - ellers tager den en række ad gangen - og modsat med makroen  :-)

Sub vis2()

Range("A4").Select
For x = 1 To 13
    If ActiveCell.Offset(x + 1, 0).EntireRow.Hidden = False Then
    ActiveCell.Offset(x, 0).EntireRow.Hidden = False
    End If
Next x

End Sub

Sub skjul2()

Range("A4").Select
For x = 1 To 13
    If ActiveCell.Offset(x + 1, 0).EntireRow.Hidden = True Then
    ActiveCell.Offset(x, 0).EntireRow.Hidden = True
End If
Next x

End Sub
Avatar billede Mathias- Nybegynder
26. december 2011 - 15:47 #9
Kurt, jeg kan altså ikke få din til at virke ? :/

MEN supertekst virker næsten efter hensigten. Det eneste der går galt er i makroen 'skjul', hvor, når den har skjult den sidste i rækken og man klikker, så viser den en række, klikker man igen, skjuler den en række osv...
Kan dette fikses?
Avatar billede supertekst Ekspert
26. december 2011 - 18:01 #10
Skal prøve..
Avatar billede Mathias- Nybegynder
26. december 2011 - 18:12 #11
tak, supertekst.
Avatar billede supertekst Ekspert
26. december 2011 - 18:15 #12
Sub skjul()
    For r = 17 To 4 Step -1
        If Rows(r).Hidden = False And r > 4 Then
            Rows(r).Hidden = True
            Exit For
        End If
    Next r
End Sub
Avatar billede Mathias- Nybegynder
26. december 2011 - 18:24 #13
Flot arbejdet ;) smit et svar
Avatar billede Mathias- Nybegynder
26. december 2011 - 18:40 #14
flot arbejde*

Hov - måske lidt sent at sige nu, men er det muligt at slette værdien i i celle x,b og x,c, hvor x svarer til den række som lige er blevet skjult, tænkte lidt på: (r,b)="" &(r,c)="" eller noget i den stil?

vh
Mathias
Avatar billede supertekst Ekspert
26. december 2011 - 22:58 #15
Tak - nu smider jeg et svar og så ser jeg på #14
Avatar billede supertekst Ekspert
26. december 2011 - 23:06 #16
Har set:

Sub skjul()
    For r = 17 To 4 Step -1
        If Rows(r).Hidden = False And r > 4 Then
            Range("B" & r & ":" & "C" & r) = ""
            Rows(r).Hidden = True
            Exit For
        End If
    Next r
End Sub
Avatar billede Mathias- Nybegynder
27. december 2011 - 02:42 #17
Den virker lige efter hensigten, du for sej supertekst!
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