Avatar billede ssvenningsen Nybegynder
09. januar 2012 - 23:19 Der er 4 kommentarer og
1 løsning

Skjul et antal linier ud fra en værdi i en celle

Hej
Jeg har et regneark hvor jeg gerne vil skjule et antal linier baseret ud fra nogle tal brugeren indgiver i en celle. Dvs. at man f.eks. indgiver x i en celle og så skjuler den fra række (10:10+x).

Er dette muligt på en simpel måde uden at lave løkker? Jeg har fundet en løsning med løkker men det tager en del tid, da jeg har en del rækker der skal skjules baseret på forskellige indtastningsfelter.
Avatar billede Ialocin Novice
10. januar 2012 - 07:22 #1
Hej ssvenningsen

Kan du eventuel bruge følge VBA kode, som ligger under det aktuelle arks Change_hændelse ?

Tastet der en værdi i celle A1 skjules der fra række 10 til række 10 + værdien fra celle A1 ... Koden tjekker også for om værdien er numerisk samt konverterer eventuelle kommatal til heltal.

Prøv det og lad høre ...



Private Sub Worksheet_Change(ByVal Target As Range)
Dim v As Integer

    'hvis den aktuelle celle er A1 og den ikke er tom
    If Target.Address = "$A$1" And Target.Value <> Empty Then
           
        'hvis værdien i celle A1 er numerisk
        If IsNumeric(Target.Value) Then
       
            'konverter værdien til et heltal
            v = CInt(Target.Value)
           
           
            'vælg række 10 +
            Rows("10:" & 10 + v).Select
             
            'skjul de valgte række
            Selection.EntireRow.Hidden = True
       
        Else
                 
            MsgBox "Indtast et heltal i celle A1"
                 
        End If
       
    End If

End Sub



Med venlig hilsen, Nicolai
Avatar billede ssvenningsen Nybegynder
10. januar 2012 - 15:21 #2
Hej Nicolai
Tak for svaret.

Det er langt derhenneaf. :-)

Den skal bruges af en del folk, og jeg har lavet en knap som man kan aktivere den pågældende makro ved således at den ikke aktiveres automatisk.

Hvordan sørger man for at nedenstående finder værdien v i celle A1, for så er den som den skal være

            'vælg række 10 +
            Rows("10:" & 10 + v).Select
             
            'skjul de valgte række
            Selection.EntireRow.Hidden = True

Mvh. Steen
Avatar billede Ialocin Novice
10. januar 2012 - 17:29 #3
Hej Steen

Herunder en knap med kode ...
Der er i denne kode ingen test af værdien i celle A1 i forhold til om det er et heltal m.m.


Private Sub cmdSkjulRækker_Click()
Dim v As Integer

    'sæt v 0 værdien fra celle A1 på Sheet1
    v = Sheet1.Range("A1").Value
           
           
    'vælg række 10 +
    Rows("10:" & 10 + v).Select
     
    'skjul de valgte række
    Selection.EntireRow.Hidden = True

End Sub


Med venlig hilsen, Nicolai
Avatar billede Ialocin Novice
10. januar 2012 - 17:31 #4
Hej Igen

Det skal selvfølgelig stå "=" i stedet for "0" i hjælpeteksten i 3. linie :o)

Med venlig hilsen, Nicolai
Avatar billede ssvenningsen Nybegynder
10. januar 2012 - 21:21 #5
Hej Nicolai

Virker helt perfekt, tak for hjælpen.

Med venlig hilsen, Steen
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