Hallo Experten,
Ich habe eine ewig lange Liste von Daten und würde die gerne gruppieren.
Nach Makro aufzeichnung bin ich auf folgendes gekommen:
wksAktuell.Range(Cells(headerCount + 1, 1), Cells(headerCount + maxcount,1)).Rows .Group
wksAktuell ist ein workshhet, headerCount und maxcount sind (positive) Integers
Leider funktioniert das nicht.
Was muss ich machen, damit ich meine Daten über das Makro gruppien kann.
Bounsfrage, wie kann ich gruppierte Bereiche über Makro schliessen?
Danke & Grüße
Winter
Hi Winter,
Ich habe eine ewig lange Liste von Daten und würde die gerne
gruppieren.
Nach Makro aufzeichnung bin ich auf folgendes gekommen:
wksAktuell.Range(Cells(headerCount + 1, 1),
Cells(headerCount + maxcount,1)).Rows .Group
wksAktuell ist ein workshhet, headerCount und maxcount sind
(positive) Integers
Leider funktioniert das nicht.
Probiers mal so:
Sub Gruppieren()
ActiveSheet.Range(Cells(12 + 1, 1), Cells(12 + 30, 1)).Rows.Group
End Sub
Bounsfrage, wie kann ich gruppierte Bereiche über Makro
schliessen?
Sub Gruppierungschliessen()
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
End Sub
Gruß
Reinhard
Hi Winter,
Probiers mal so:
Sub Gruppieren()
ActiveSheet.Range(Cells(12 + 1, 1), Cells(12 + 30,
1)).Rows.Group
End Sub
Bounsfrage, wie kann ich gruppierte Bereiche über Makro
schliessen?
Sub Gruppierungschliessen()
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
End Sub
Gruß
Reinhard
Hallo Reinhard,
Danke für Deine Antwort.
Sach mal bin ich zu doof oder sehe ich keinen Unterschiede ausser, dass Du ActiveSheet, anstelle von meinen Worksheet?
Ich brauche allerdings das Workshhet als Variable, da ich in mehreren Sheet arbeite und aus Geschwindigkeitsgrüden und für meine Augen (Flackern) die sheets per variable anspreche.
Danke für Deine Hilfe
Winter
Sub Gruppieren()
ActiveSheet.Range(Cells(12 + 1, 1), Cells(12 + 30,
1)).Rows.Group
End Sub
Bounsfrage, wie kann ich gruppierte Bereiche über Makro
schliessen?
Sub Gruppierungschliessen()
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
End Sub
Gruß
Reinhard
Hallo Reinhard,
Danke für Deine Antwort.
Sach mal bin ich zu doof oder sehe ich keinen Unterschiede
ausser, dass Du ActiveSheet, anstelle von meinen Worksheet?
Hallo Winter,
ja schon, aber ich habe im Sinne von enger Gruppierung „.Row.Group“ gewählt, bei dir sah es so aus „.Row. Group“.
Aber da ich ja von hier aus nicht wissen kann ob es nur das ist, habe ich es nicht erwähnt, hätten ja auch deine variableen sein können die irgendwie falsch sind.
Ich brauche allerdings das Workshhet als Variable, da ich in
mehreren Sheet arbeite und aus Geschwindigkeitsgrüden und für
meine Augen (Flackern) die sheets per variable anspreche.
Ja, Augenschonung ist Pflicht, grad nach/mit dem neuen Design hier 
Und zur Geschwindigkeit, wenn die wichtig wird,
With Worksheets(„Tabelle1“)
.Range…
.Range…
ist langsamer als
Set ws=Worksheets(„Tabelle1“)
With ws
.Range…
.Range…
Und,
…Colorindex=xlnone
ist langsamer als
…Colorindex=-4142
Achja, das Gruppenschliessen habe ich vorhin erst im Internet gefischt, bitte dazu keine Nachfragen, muß das erst mal selbst nachher checken und verstehen lernen.
Und auch bewerten ob man damit einzelne Gruppen löschen kann oder nur all und so.
Gruß
Reinhard
Hi Winter,
zum Flackern noch ein Hinweis (falls nicht bekannt
):
Application.ScreenUpdating = False
Dann flackert nix mehr und es geht auch schneller, da der Bildschirmaufbau entfällt.
mfg
Dirk.Pegasus
1 „Gefällt mir“
Hi Winter,
zum Flackern noch ein Hinweis (falls nicht bekannt
):
Application.ScreenUpdating = False
Dann flackert nix mehr und es geht auch schneller, da der
Bildschirmaufbau entfällt.
Dirk.Pegasus
Servus Dirk,
danke,
ich wusste das es sowas gibt. ´Kannte aber den Befehl nicht,
woltle schonmal das Archiv danach durchsuchen, aber die Arbeit hast Du mir abgenommen.
Danke
Der einzige NAchteil an der Sache ist, man weiß nicht ob excel wirklich arbeitet 
Grüße Winter
Hallo Winter,
ja schon, aber ich habe im Sinne von enger Gruppierung
„.Row.Group“ gewählt, bei dir sah es so aus „.Row. Group“.
Aber da ich ja von hier aus nicht wissen kann ob es nur das
ist, habe ich es nicht erwähnt, hätten ja auch deine
variableen sein können die irgendwie falsch sind.
Servus Reinhard,
natürlich war es bei mir „.Rows. Group“
Doofmann! habe gestern abend in die WiiFB gebissen, vor Ärger.
aber die
wksAktuell.Range(Cells(headerCount + 1, 1), Cells(headerCount + maxcount, 1)).Rows.Group
funktioniert immer noch nicht.
habe die Variable mir Msgbox gecheckt beide positv.
selbst, wenn ich zahlen eingebe
wksAktuell.Range(Cells(154 + 1, 1), Cells(173, 1)).Rows.Group
kommt die selbe Fehler meldung.
Als fehlermeldung kommt
die Methode Range sit für das Object’_worksheet’ ist fehlgeschlagen
Winter,
der langsam am Ende seines Latein ist
;-(
Der einzige NAchteil an der Sache ist, man weiß nicht ob excel
wirklich arbeitet 
Hallo Winter,
dann bau sowas mit in den Code ein:
Sub Status()
Dim a, b
For a = 1 To 100
Application.StatusBar = „Bearbeite " & Right(„00“ & a, 3) & " / 100“
For b = 1 To 1000000 'nur Zeitschleife zum Verlangsamen
Next b
Next a
Application.StatusBar = „“
End Sub
Gruß
Reinhard