Avatar billede mile Juniormester
26. november 2003 - 12:17 Der er 9 kommentarer og
1 løsning

Kode til gruppér

Hej

Jeg har et regnark med flg. data:

Kolonne A    kolonne B  osv..

1            abe
            abe
            abe
2            hest
            hest
3            fugl
            fugl
            fugl
            fugl

Er det muligt at lave kode der automatisk grupperer alt under de respektive tal i kolonne A, med mulighed for udvidelse af datasæt ?

Eks.

1            abe
2            hest
3            fugl

Hvor man ved klik på et plus eller lign. kan udvide så eks. alle aber kan ses :-)
Avatar billede janvogt Praktikant
26. november 2003 - 12:22 #1
Jo det skulle nok kunne lade sig gøre.
Har du prøvet funktionen "Outline"?
Avatar billede janvogt Praktikant
26. november 2003 - 12:23 #2
Den ligger i "Data"-menuen.
på dansk hedder det vist noget med grupper og disposition.
26. november 2003 - 12:38 #3
For at det skal fungere med en gruppering forudsætter det at du indsætter en ny række under hvert dyr, og her udfylder kolonne A og B (1 og abe f.eks.)

Marker herefter alle rækker med aber undtagen den nye række, du har indsat
Vælg Data->Grupper og disposition->Grupper...
Du vil nu se nogle dispositoponsknapper tilføjet ude til venstre. Brug dem til at folde grupperne sammen/ud igen.

Der kan godt indsættes nye rækker uden ar ødelægge grupperingen.
Avatar billede mile Juniormester
26. november 2003 - 13:17 #4
Der er tale om rigtigt mange data her. Jeg forestiller mig egentligt noget med en for next løkke der grupperer indtil næste udfyldte celle i kolonne A.
Avatar billede bak Forsker
26. november 2003 - 13:55 #5
her er et udgangspumkt for noget kode, hvis du har afbilledet dine data rigtigt.
test det. det kan laves med automatisk selection.

Start med at markere alle data i kolonne A og kør så makroen.

Sub GroupThem()
Dim RangeToUse As Range
Dim SingleArea As Range
Selection.SpecialCells(xlCellTypeBlanks).Select
Set RangeToUse = Selection
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 mile Juniormester
26. november 2003 - 14:03 #6
Tommy du er en skat - lægger du lige et svar ? Den ser ud til at være perfekt.
Avatar billede bak Forsker
26. november 2003 - 15:45 #7
ok :-)
Avatar billede bak Forsker
26. november 2003 - 15:48 #8
vær lige opmærksom på at hele ideen baserer sig på at der er tomme celler, der hvor der skal grupperes
Avatar billede bak Forsker
26. november 2003 - 16:52 #9
Med denne behøver du ikke først markere noget.
den sætter også +'erne foroven.

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 mile Juniormester
27. november 2003 - 08:25 #10
Fedest - Tusind tak for hjælpen...
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