Avatar billede dane022 Seniormester
06. december 2007 - 20:17 Der er 9 kommentarer og
1 løsning

Skjul flere rækker i vba kode

Jeg søger en kode der ved activate kan gennemsøge et område og skjule de rækker med værdien 0.

Det drejer sig om at for område f5:f21 og f30:f46, skal de rækker med værdien 0 skjules.

Jeg kunne godt tænke mig at det hele lå i samme kode, så der ikke skal gentages den sædvanlig entirerow.hidden for hver række, som dermed gør indlæsning af siden langsom.
Avatar billede gider_ikke_mere Nybegynder
06. december 2007 - 22:00 #1
Sub test()
Slut = Range("F65536").End(xlUp).Row
For I = 1 To Slut
    If Range("F" & I).Value = "0" Then
        For Y = I + 1 To Slut + 1
            If Range("F" & Y).Value <> "0" Then
                Range("F" & I & ":" & "F" & Y - 1).EntireRow.Hidden = True
                I = Y
                Exit For
            End If
        Next
    End If
Next
End Sub
Avatar billede dane022 Seniormester
06. december 2007 - 23:11 #2
smukt, smid et svar
Avatar billede gider_ikke_mere Nybegynder
06. december 2007 - 23:19 #3
Ok
Avatar billede gider_ikke_mere Nybegynder
06. december 2007 - 23:39 #4
Tak for point :-)
Avatar billede dane022 Seniormester
06. december 2007 - 23:42 #5
Jeg ser nu at koden har den ulempe at den skjuler alle nulværdier i hele f kollonen.
Hvordan skal den se ud hvis den kun skal gå efter de områder som jeg skrev i første indlæg?
Avatar billede gider_ikke_mere Nybegynder
06. december 2007 - 23:49 #6
Var det ikke det du ønskede?
Avatar billede gider_ikke_mere Nybegynder
06. december 2007 - 23:51 #7
Sub test()
Range("F5:F21").EntireRow.Hidden = True
Range("F30:F46").EntireRow.Hidden = True
End Sub
Avatar billede dane022 Seniormester
07. december 2007 - 20:03 #8
Vi har talt forbi hinanden. I virkeligheden er det en kombination af de to ting.
Koden skal virke som den første du skrev, men ikke for hele f kollonen. Kun for række 5 til 21 og fra 30 til 46
Avatar billede excelent Ekspert
07. december 2007 - 20:48 #9
Sub test()
For Each c In Range("F5:F21,F30:F46")
If c = 0 Then c.EntireRow.Hidden = True
Next
End Sub
Avatar billede dane022 Seniormester
07. december 2007 - 22:20 #10
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