Thema Datum  Von Nutzer Rating
Antwort
Rot Daten mit Hierarchie aus verschiedenen Arrays sortieren
12.05.2023 09:05:44 MichaelD
NotSolved
12.05.2023 10:34:39 ralf_b
NotSolved
12.05.2023 14:06:59 Gast15465
NotSolved
12.05.2023 14:43:23 ralf_b
Solved
12.05.2023 14:06:12 Gast86172
NotSolved
12.05.2023 14:08:29 Gast23774
NotSolved

Ansicht des Beitrags:
Von:
MichaelD
Datum:
12.05.2023 09:05:44
Views:
317
Rating: Antwort:
  Ja
Thema:
Daten mit Hierarchie aus verschiedenen Arrays sortieren

Hallo Zusammen

Ich habe 3 Tabellen (durch Analysis for Office generiert) in zwei verschiedenen Arbeitsblättern. Die Tabellen beinhalten verschiedene Hierarchiestufen und bei der untersten Stufe ist eine Kontonummer angefügt, welche an diese Stufe zwingend gehört. Alle 3 Tabellen haben natürlich Hierarchien von 01_... bis 10_... und die Werte sind teilweise doppelt.

Das sieht so aus:

Anfang:

[-] 0102/ABC/ABC-ER/0ABC-ER
  [-] 0102/ABC/ABC-ER/01
    [-] 0102/ABC/ABC-ER/01_1
      [-] 0102/ABC/ABC-ER/01_1_1
        [-] 0102/ABC/ABC-ER/01_1_1_1
               ABC/300000
               ABC/300010
        [-] 0102/ABC/ABC-ER/01_1_1_2
               ABC/300100
               ABC/300110
               ABC/300120
               ABC/300130

Ende:

               ABC/900110
    [-] 0102/ABC/ABC-ER/08_9
      [-] 0102/ABC/ABC-ER/08_9_1
        [-] 0102/ABC/ABC-ER/08_9_1_1
               ABC/900200
    [-] 0102/ABC/ABC-ER/08_10
      [-] 0102/ABC/ABC-ER/08_10_1
        [-] 0102/ABC/ABC-ER/08_10_1_1
               ABC/900400
               ABC/900450

Mein Ziel ist es, die Werte aus den 3 Tabellen in einer Tabelle zu konsolidieren und die Hierarchie aufsteigend zu sortieren. Dabei sollen die Konti an dem zugehörigen untersten Hierarchieknoten bleiben. In der konsolidierten Tabelle sollen dann auch mögliche Duplikate entfernt werden.

Aktuell ist der Stand, dass ich die Werte der 3 Tabellen in 3 Arrays eingelesen habe. Hier mein aktuelles Makro:

------------------------

Sub Datenaufbereitung()

Application.ScreenUpdating = False

Worksheets("Q00_YYY_MFP").Activate  '(y)

'Bestimmung letzte Zeile und Spalte
a = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
b = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

'Erstellung 1. Array daten1 (Ausgangsdaten 1)
Dim daten1() As Variant
ReDim daten1(1 To a, 1 To b)

For j = 1 To b
    For i = 1 To a
        daten1(i, j) = Cells(i, j)
    Next i
Next j

'--------------------

Worksheets("Q00_ZZZ_IST-PLAN").Activate  '(z)

'Bestimmung letzte Zeile und Spalte
c = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
d = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

'Erstellung 2. Array daten2 (Ausgangsdaten 2)
Dim daten2() As Variant
ReDim daten2(1 To c, 1 To d - 5)

For j = 1 To d - 5
    For i = 1 To c
        daten2(i, j) = Cells(i, j)
    Next i
Next j

'Erstellung 3. Array daten3 (Ausgangsdaten 3)
Dim daten3() As Variant
ReDim daten3(1 To c, 5 To d)

For l = 5 To d
    For k = 1 To c
        daten3(k, l) = Cells(k, l)
    Next k
Next l

'----------------------------

'Erstellung 4. Array datenZ (Einfügen der Daten in dem Zielarray/Tabellenblatt)

Worksheets("00_XXX").Activate  '(x)

Cells.Clear

Dim e As Long
Dim f As Long

e = 10000
f = 20

'Erstellung Zielarray
Dim datenZ() As Variant
ReDim datenZ(1 To e, 1 To f)

'Daten von Array 1 einfügen
For i = 5 To a
    datenZ(i, 1) = daten1(i, 1)
Next i

Range(Cells(1, 1), Cells(e, f)).Value = datenZ


Dim LastRow As Long 'anschliessendes einfügen
LastRow = Cells(Rows.Count, 1).End(xlUp).Row

'Daten von Array 2 einfügen
For j = 5 To c
    LastRow = LastRow + 1
        datenZ(LastRow, 1) = daten2(j, 1)
Next j

Range(Cells(1, 1), Cells(LastRow, f)).Value = datenZ

Dim lastRow2 As Long 'anschliessendes einfügen
lastRow2 = Cells(Rows.Count, 1).End(xlUp).Row

'Daten von Array 3 einfügen
For k = 5 To c
    lastRow2 = lastRow2 + 1
        datenZ(lastRow2, 1) = daten3(k, 5)
Next k

Range(Cells(1, 1), Cells(lastRow2, f)).Value = datenZ

Application.ScreenUpdating = True

End Sub

--------------

Kann mir jemand bitte Hilfe leisten, wie ich die Hierachien konsolidiert und aufsteigend sortiert in einer Tabelle ausgeben kann? Ich habe es schon mit Google und ChatGPT versucht, bin jedoch nicht auf eine zufriedenstellende Lösung gekommen.

Danke euch im Voraus & beste Grüsse

MD


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Daten mit Hierarchie aus verschiedenen Arrays sortieren
12.05.2023 09:05:44 MichaelD
NotSolved
12.05.2023 10:34:39 ralf_b
NotSolved
12.05.2023 14:06:59 Gast15465
NotSolved
12.05.2023 14:43:23 ralf_b
Solved
12.05.2023 14:06:12 Gast86172
NotSolved
12.05.2023 14:08:29 Gast23774
NotSolved