Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gruppierungsebene feststellen

Gruppierungsebene feststellen
04.08.2006 14:27:32
eres
Hallo Excel-Freunde,
habe eine Tabelle in 4 Stufen auf Zeilenebene gruppiert.
Kann ich mit VBA abfragen, zu welcher Gruppierungsstufe eine Zelle gehört ?
Vielen Dank für Eure Hilfe im voraus.
Gruss ans Forum
erwin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gruppierungsebene feststellen
04.08.2006 20:48:39
Uwe
Hallo, Erwin,
meines Erachtens hast Du Deine Aufgabe nicht eindeutig genug beschreiben, um eine Lösung vorzuschlagen, denn es wird nicht klar, ob die vier Sektionen/Stufen alle die gleichen Zeilenanzahl haben und ob sie ohne Lücke aufeinander folgen. Wodurch wird also die Stufung beschrieben?
Auch beschreibst Du nicht, wie Du auf die Zeilen zugreifen möchtest bzw. mußt.
Gruß,
Uwe
AW: Gruppierungsebene feststellen
04.08.2006 21:53:10
Holger
Hi,
wozu brauchst du das konkret, eh ich mir die Mühe mache?
mfg Holger
AW: Gruppierungsebene feststellen
07.08.2006 08:03:31
eres
Hallo Holger, hallo Uwe,
zunächst Danke für Eure Antworten die zeigen, dass ich nicht genug Infos geliefert habe.
Also konkret habe ich eine Tabelle mit vier Gliederungsebenenen innerhalb der Zeilen bei 2 Spalten.
Bsp. Zeile 1: Hauptebene
Zeile 2: Oberebene
Zeile 3: mittlere Ebene
Zeile 4: Detailebene
Zeile 4 kommt dann n mal vor, bis wieder eine neue mittlere Ebene erscheint ...
Nur für die Detailebene sollen in Spalte 2 Werte eingegeben werden.
Da diese Werte mit einem Makro gefüllt werden sollen, möchte ich im Makro eine Schleife einbauen, wobei bei jeder Zeile gefragt wird, ob die Zeile zur Detailebene gehört. Nur dann wird dort ein Wert eingetragen.
Ich hatte an eine Syntax in der Art: If "Grouplevel" = 4 then
wobei ich eben den Befehl zur Abfrage der Gruppierungstiefe nicht kenne (vielleicht gibt es ihn auch nicht (?)).
Falls Ihr mir helfen könnt, wäre ich sehr dankbar.
Gruss aus Köln
erwin
Anzeige
AW: Gruppierungsebene feststellen
07.08.2006 15:06:07
ingUR
Hallo, Erwin,
Deine Ergänzungen deuten schon ein Mal an, wohin die Rechnung gehen soll. Jedoch wäre es weeiter hilfreich, wenn Du die Ar der Datenquelle bzw. wie die Daten an die Prozedur übergeben werden, mitgeteilt hättest - vielleicht an Hand einer kleinen Beispieldatei.
So bleibt mir im ersten Anlauf nur Versuch, in dem ich annehme, dass die Daten sequentiell aus einem Datenvektor gelesen werden. Simuliert habe ich diesen Fall durch die Vorbelegung des eindimensionalen Datenfeldes inData, welches ich im ersten Teil der Prozedur fülle.

Sub FillRecords()
Dim inData() As String
Dim maxRecs As Integer, Level As Integer
Dim r As Long
maxRecs = 20 * 4 ' je Datensatz 4 Ebenen
ReDim inData(maxRecs)
'Datenfeldvorbelegung
'enthält "portionierte" Indexberechnung index = 4 * (rec - 1) + i
For rec = 1 To maxRecs / 4
For Level = 1 To 4
inData(4 * (rec - 1) + Level) = "Data(Rec=" & Mid(Str(rec), 2) & ";DE" & Level & ")"
Next Level
Next rec
Columns("B:C").Clear
'Berechnung der Zeile aus dem DatenFeldIndex rec
' r = RowInSheet = 4 + ((Int(rec / 4))) * 5 + Level-1
For rec = 1 To maxRecs
r = 3 + ((Int(rec / 4))) * 5
For Level = 1 To 4
Cells(r + Level, 2) = inData(rec - 1 + Level)
Next
rec = rec + 3
Next
'Berechnung der Zeile aus dem 'Level'
For rec = 1 To maxRecs
Level = rec - 4 * Int((rec - 1) / 4)
RecNr = Int((rec - 1) / 4) + 1
r = 3 + (RecNr - 1) * 5 + Level
Cells(r, 3) = inData(rec)
Next
'Levelbereichnung aus der zufällig gewählten Zelle-Zeile
Randomize
r = Int(Rnd * r)
Cells(r, 1).Select
r = ActiveCell.Row
Level = (r - 3) - 5 * Int((r - 3) / 5)
If Level < 1 Then
MsgBox "Keine Detailebene"
Else
MsgBox "DetailEbene Level" & Level
End If
End Sub

Ob Du hier etwas findest, was Du in Dein Projekt einbauen kannst, vermag ich nicht zu sagen, da es bestimmt auch noch andere Gesichtspunkte geben kann.
Gruß,
Uwe
Anzeige
AW: Gruppierungsebene feststellen
07.08.2006 15:24:57
eres
Hallo Uwe, vielen Dank für Deine Mühe.
Deine "Levelberechnung" unten in der Prozedur hilft mir weiter. Ich werde diesen Ansatz bei mir umsetzen.
Nochmals herzlichen Dank und Gruss aus Köln
erwin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige