Avatar billede sir_kreuzer Nybegynder
14. februar 2008 - 22:28 Der er 9 kommentarer og
1 løsning

Gruppering af data automatisk

Hej eksperter !
Jeg har en lang liste af oplysninger som jeg gerne vil have grupperet ala den funktion der ligger som standard i excel > udfordringen er blot at jeg har over 5000 rækker....

Min opstilling ser nogenlunde sådan ud

a                b             
koncernnavn1    firmanavn1
blank            firmanavn2
blank            firmanavn3
koncernnavn2    firmanavn1
blank            firmanavn2 osv osv

... og jeg vil gerne have en stjerne yderst til venstre, der kan folde koncernerne ud og ind.

På forhånd tak
14. februar 2008 - 22:40 #1
Det kunne jeg finde på at gribe an på en anden måde...

Højreklik på din ark fane og vælg "View code" og indsæt følgende:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        If Not Target.Value = "" Then
            Target.Offset(1, 0).Resize(2).EntireRow.Hidden = Not Target.Offset(1, 0).Resize(2).EntireRow.Hidden
            Cancel = True
        End If
    End If
End Sub

Luk VBA editoren igen og dobbeltklik på en celle i kolonne A.
-> hvis cellen er tom skulle der ikke ske noget
-> hvis cellen indeholder noget, som f.eks. KonernNavn1, så skjules de 2 rækker under koncernen... med mindre de allerede var skjult, hvorfor de istedet bliver vist.
14. februar 2008 - 22:43 #2
ovenstående er ikke lavet særlig sikker... den kræver at du har 2 blanke linier mellem alle koncern navne, men det kan fikses, hvis du kan lide/bruge ideen.
Avatar billede bak Seniormester
14. februar 2008 - 23:05 #3
stil dig på arket og kør denne makro.
Den er taget fra et lignende spm.  http://www.eksperten.dk/spm/432610

Sub GroupThem()
    Dim RangeToUse As Range
    Dim SingleArea As Range
    ActiveSheet.Outline.SummaryRow = xlAbove
    Set RangeToUse = Range(Cells(1, 2), Cells(65536, 2).End(xlUp)). _
                    Offset(0, -1).SpecialCells(xlCellTypeBlanks)
    If RangeToUse.Areas.Count = 1 Then
        RangeToUse.Rows.Group
    Else
        For Each SingleArea In RangeToUse.Areas
            SingleArea.Rows.Group
        Next
    End If
End Sub
Avatar billede bak Seniormester
14. februar 2008 - 23:06 #4
For pokker, flemming. Du er hurtig :-)
Avatar billede sir_kreuzer Nybegynder
15. februar 2008 - 09:29 #5
det virker perfekt ! tak for hjælpen
Avatar billede bak Seniormester
15. februar 2008 - 10:52 #6
hvilken kode har du brugt ?
Avatar billede sir_kreuzer Nybegynder
15. februar 2008 - 11:00 #7
den sidstnævnte
Avatar billede bak Seniormester
15. februar 2008 - 11:03 #8
så accepterer du bare svaret og så er det spørgsmål lukket
Avatar billede sir_kreuzer Nybegynder
15. februar 2008 - 11:20 #9
lykkes det mig mon at fordele nogle velfortjente point?
Avatar billede bak Seniormester
15. februar 2008 - 12:10 #10
ja, det gik fint .-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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