Avatar billede Andreeas Nybegynder
03. december 2014 - 18:25 Der er 3 kommentarer og
1 løsning

Skjul rækker hvis - VBA

Hej Eksperter,

Jeg har et regneark, hvor jeg gerne vil skjule "x" rækker, hvis de ikke opfylder 2 variable.

i kolonne A er der 10 perioder (2003->2013) fra A5 -> A15.

Jeg ønsker på baggrund af informationen i celle C3 og C4 at:

vise de kolonner der vedrører perioden

ex. hvis der i celle c3 stod 2005 og i c4 stod 2011, skulle makroen skjule de rækker der indeholder året 2003,2004,2012 og 2013.

Jeg ønsker at Excel automatisk selv skal lave dette layout (ingen knap løsning) og kun for mit "Worksheet 1"

Håber der er nogle eksperter der kan hjælpe mig med denne problemstilling.

På forhånd tak :)
Avatar billede kabbak Professor
03. december 2014 - 18:47 #1
sæt denne i arkets modul

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$3" Then
        For i = 5 To 15
            If Range("A" & i).Value < Target Then
                Range("A" & i).EntireRow.Hidden = True
            ElseIf Range("A" & i).Value >= Target Then
                Range("A" & i).EntireRow.Hidden = False
            End If
            If Range("A" & i).Value = Target Then Exit For
        Next
    End If

    If Target.Address = "$C$4" Then
        For i = 5 To 15
            If Range("A" & i).Value > Target Then
                Range("A" & i).EntireRow.Hidden = True
            Else
                Range("A" & i).EntireRow.Hidden = False
            End If
        Next
    End If
End Sub
Avatar billede excelent Ekspert
03. december 2014 - 19:01 #2
indsæt i arkets kodemodul

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("C3:C4")) Is Nothing Then Exit Sub
Range("A5:A15").EntireRow.Hidden = False
tal3 = Range("A5:A15").Find(Range("C3").Value, LookIn:=xlValues).Row
tal4 = Range("A5:A15").Find(Range("C4").Value, LookIn:=xlValues).Row
Range("A5:A15").EntireRow.Hidden = True
Rows("" & tal3 & ":" & tal4 & "").EntireRow.Hidden = False
End Sub
Avatar billede Andreeas Nybegynder
03. december 2014 - 20:26 #3
Tak for svarene begge to.

Jeg har prøvet begge formler af og de funger begge, kunne godt tænke mig at vide hvad forskellen er på Excelent's svar i forhold til Kabbaks, men smider i lige et svar begge, så deler i pointene?
Avatar billede excelent Ekspert
03. december 2014 - 21:00 #4
Forskel : prøv fx 2010 i C3 og 2006 i C4
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

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