Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte in Matrix nach Reihenfolge in eine Spalte

Werte in Matrix nach Reihenfolge in eine Spalte
23.03.2005 12:12:36
Thomas
Guten morgen,
momentan sitze ich an einem Proplem, welches offenbar nur mit einer Matrixformel gelöst werden kann. Leider ist das nicht meine Stärke :-/
Es geht um eine Matrix, die nur aus Zahlen besteht. Es sollen diese Werte nur in einer Spalte untereinander aufgelistet werden. Nach einer festgelegten Reihenfolge (siehe Bild) soll die erste Zeile von links nach rechts aufgelistet werden, wobei Leerzellen nicht mit aufgeführt werden sollen. Danach soll die nächste Zeile wieder von links nach rechts in eine Spalte untereinander aufgeführt werden.
Wer kann mir dabei helfen?
Gruß
Thomas
Userbild
Anzeige

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

Betreff
Datum
Anwender
Anzeige
gibt es dazu keine Lösung?
23.03.2005 14:13:47
Thomas
?
AW: gibt es dazu keine Lösung?
23.03.2005 16:20:19
Andi
Hi,
vielleicht war das Problem, dass Du nach ner Matrix-Formel gefragt hast... viele, die hier hin- und wieder antworten, lesen dann gleich gar nicht weiter.
Ich hab Deine Aufgabe mal so gelöst:
Sub Matrix_in_Spalte() Dim zeile As Integer Dim spalte As Integer Dim ziel_zeile As Integer ziel_zeile = 6 For zeile = 1 To 4 For spalte = 1 To Cells(zeile, 256).End(xlToLeft).Column If Cells(zeile, spalte).Value <> "" Then Cells(ziel_zeile, 1).Value = Cells(zeile, spalte).Value ziel_zeile = ziel_zeile + 1 End If Next spalte Next zeile End Sub
In dem Beispiel hat die Matrix jetzt nur 4 Zeilen, die Auflistung in einer Spalte beginnt ab Zeile 6. Das müsste natürlich noch angepasst werden.
Schönen Gruß,
Andi
Anzeige
AW: Werte in Matrix nach Reihenfolge in eine Spalte
23.03.2005 16:22:14
Martin
Hallo Thomas,
dir Formelcracks werden villeicht auch noch eine Lösung posten, per Makro ginge es für Dein Beispiel so:
Sub umordnen() 'zuerst relevanten Bereich markieren, dann Makro starten z = 9 'Startzeile festlegen For Each c In Selection If Not IsEmpty(c) Then Cells(z, 1) = c z = z + 1 End If Next End Sub
Gruß
Martin Beck
Anzeige
AW: Werte in Matrix nach Reihenfolge in eine Spalte
23.03.2005 17:23:15
HermannZ
Hallo Thomas,
und nun das ganze als Formellösung;
Beispiel;
Doppelt
 ABCDE
126     
12712341
12856782
12991011123
130131415164
131171819205
132212223246
133252627287
134293031328
135    9
136    10
137Formel herunterkopieren   11
138    12
139    13
140    14
141    15
142    16
143    17
144    18
145    19
146    20
147    21
148    22
149    23
150    24
151    25
152    26
153    27
154    28
155    29
156    30
157    31
158    32
Formeln der Tabelle
E127 : {=WENN(INDEX(A:D;(ZEILE()-127)/4+127;REST(ZEILE()-1;4)+1)=0;"";INDEX(A:D;(ZEILE()-127)/4+127;REST(ZEILE()-3;4)+1))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß hermann
Anzeige
Danke
23.03.2005 18:48:49
Thomas
Vielen Dank für Eure Hilfe. Die Umsetzung als VBA und als Formel funktioniert einwandfrei. Ihr habt mir damit sehr geholfen.
Gruß
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte in Matrix nach Reihenfolge in eine Spalte umwandeln


Schritt-für-Schritt-Anleitung

Um Werte aus einer Matrix in eine Spalte aufzulisten, kannst du folgende Schritte befolgen:

  1. Öffne Excel und erstelle eine neue Tabelle.

  2. Gib deine Matrixdaten in die Zellen ein. Achte darauf, dass du in der Matrix Leerzellen hast, die nicht berücksichtigt werden sollen.

  3. Markiere den Bereich der Matrix, den du umwandeln möchtest.

  4. Öffne den VBA-Editor mit ALT + F11.

  5. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinDokument)", dann "Einfügen" > "Modul".

  6. Kopiere und füge den folgenden Code in das Modul ein:

    Sub Matrix_in_Spalte()
       Dim zeile As Integer
       Dim spalte As Integer
       Dim ziel_zeile As Integer
       ziel_zeile = 1 ' Startzeile für die Auflistung
       For zeile = 1 To 4
           For spalte = 1 To Cells(zeile, 256).End(xlToLeft).Column
               If Cells(zeile, spalte).Value <> "" Then
                   Cells(ziel_zeile, 1).Value = Cells(zeile, spalte).Value
                   ziel_zeile = ziel_zeile + 1
               End If
           Next spalte
       Next zeile
    End Sub
  7. Schließe den VBA-Editor und kehre zu Excel zurück.

  8. Führe das Makro aus: Gehe zu "Entwicklertools" > "Makros" und wähle Matrix_in_Spalte aus.

Jetzt solltest du die Werte aus der Matrix in einer Spalte aufgelistet haben!


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Überprüfe, ob der angegebene Bereich in der Matrix existiert. Stelle sicher, dass du die richtige Zeilen- und Spaltenanzahl verwendest.
  • Fehler: Leerzellen werden angezeigt.

    • Lösung: Stelle sicher, dass die Bedingung If Cells(zeile, spalte).Value <> "" korrekt implementiert ist.

Alternative Methoden

Du kannst auch eine Formel verwenden, um die Matrix in eine Liste umzuwandeln. Eine Beispiel-Formel könnte so aussehen:

=WENNFEHLER(INDEX(A:D;VERGLEICH(KLEINSTE(WENN(A:D<>"";ZEILE(A:D));ZEILE(A1));WENN(A:D<>"";ZEILE(A:D));0);SPALTE(A1));"")

Diese Formel muss als Matrixformel eingegeben werden. Das bedeutet, dass du nach dem Eingeben der Formel STRG + SHIFT + ENTER drücken musst.


Praktische Beispiele

Wenn du beispielsweise folgende Matrix hast:

A B C D
1 3 4
5 6 8
10 11

Und du führst das Makro aus, erhältst du in der ersten Spalte:

1
3
4
5
6
8
10
11

Tipps für Profis

  • Wenn du regelmäßig mit solchen Aufgaben arbeitest, speichere das Makro als Vorlage, um es einfacher zu nutzen.
  • Überlege, die Matrix in eine Tabelle umzuwandeln. Das erleichtert die Datenverwaltung und die Anwendung von Formeln.
  • Nutze die Funktion FILTER, falls du Excel 365 oder eine neuere Version hast, um Daten dynamisch zu filtern und aufzulisten.

FAQ: Häufige Fragen

1. Wie kann ich die Reihenfolge der Werte in meiner Matrix ändern?
Du kannst die Werte in der Matrix selbst umsortieren, bevor du das Makro ausführst.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die VBA-Makros funktionieren in allen gängigen Excel-Versionen. Die Formel könnte jedoch je nach Version variieren.

3. Was sind die Vorteile der Verwendung von VBA gegenüber Formeln?
Mit VBA kannst du komplexere Aufgaben automatisieren und die Performance verbessern, insbesondere bei großen Datenmengen. Formeln sind jedoch einfacher für Benutzer, die mit VBA nicht vertraut sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige