Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1344to1348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Gruppierung aufheben für bestimmte Zeilen

VBA - Gruppierung aufheben für bestimmte Zeilen
09.01.2014 17:41:05
Judith
Hallo zusammen,
ich bastle nun schon länger an meiner Datei und komme einfach nicht weiter.
Ich habe eine Datei mit diversen Zwischensummen. Die Bereiche zwischen diesen Zwischensummen sollen per VBA gruppiert werden.
Durch die Hilfe eines Forumsmitglieds und des folgenden Codes klappt das auch:
Sub Test()
Dim ErsteZeile As Long, LetzteZeile As Long, rngRange As Range, varRowZwischenSummen() As  _
Variant, intAnzZwischenSummen As Integer, rngZelle As Range
i As Integer
intAnzZwischenSummen = 0
With ActiveSheet
' Erste und letzte Zeile ermitteln
ErsteZeile = 3
LetzteZeile = .Cells(Rows.Count, 3).End(xlUp).Row
' Bereich festlegen
Set rngRange = .Range(.Cells(ErsteZeile, 3), .Cells(LetzteZeile, 3))
' Positionen der Zwischensummen ermitteln
For Each rngZelle In rngRange
If rngZelle.Value Like "*TOTAL*" Then
intAnzZwischenSummen = intAnzZwischenSummen + 1
ReDim Preserve varRowZwischenSummen(intAnzZwischenSummen)
varRowZwischenSummen(intAnzZwischenSummen) = rngZelle.Row
End If
Next rngZelle
' Gruppieren 1. Gruppe
Rows(ErsteZeile & ":" & varRowZwischenSummen(1) - 1).Rows.Group
' Gruppieren restliche Gruppen (zwischen zwei Summen)
For i = 1 To intAnzZwischenSummen - 1
Rows(varRowZwischenSummen(i) + 1 & ":" & varRowZwischenSummen(i + 1) - 1).Rows.Group
Next i
End With
End Sub
Mein Problem ist nun jedoch, dass ich in einigen Dateien nicht nur Zwischensumme, sondern auch Gesamtsummen habe, die ich nicht ausblenden möchte (siehe Beispiel):
https://www.herber.de/bbs/user/88749.xlsx
Ich habe es nicht geschafft diese Gesamtsummen aus der Gruppierung herauszuhalten, darum versuche ich nun für diese Zeilen am Ende des Makros die Gruppierung aufzuheben. Ich erhalte mit dem folgenden Code aber eine Fehlermeldung.
For ErsteZeile = 3 To LetzteZeile
If Cells(ErsteZeile, 3).Value = "SUMME" Then
Rows(ErsteZeile).Ungroup
End If
Next
Habt ihr vielleicht eine Idee?
Viele Grüße
Judith
End With

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Gruppierung aufheben für bestimmte Zeilen
10.01.2014 08:35:28
Bastian
Hallo Judith,
der Fehler kommt, wenn Du die Gruppierung bei einer Zeile aufheben möchtest, die gar nicht gruppiert ist (in Deinem Fall die letzte Gesamtsumme).
Daher musst Du noch eine Prüfung einbauen, ob die Zeile auch gruppiert ist. Die Prüfung auf das Wort "SUMME" würde ich mit Like machen:
For ErsteZeile = 3 To LetzteZeile
If Cells(ErsteZeile, 3).Value Like "*SUMME*" Then
If Rows(ErsteZeile).OutlineLevel > 1 Then
Rows(ErsteZeile).Ungroup
End If
End If
Next
Gruß, Bastian

AW: VBA - Gruppierung aufheben für bestimmte Zeilen
10.01.2014 14:00:41
Judith
Hallo Bastian,
das funktioniert super. Vielen lieben Dank !!!
Viele Grüße Judith
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige