Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten aus Matrix untereinander

Daten aus Matrix untereinander
22.01.2008 08:33:00
gio
Hallo,
brauche nochmal Eure Hilfe
Habe bei meiner Zuschnittsoptimierung die Daten immer pro Zeile.
Datenbereich B1 - I20
Meine Daten
6000
5000 1000
5800
1000 1000 2000 2000
600 4000 1000
....
...
Wie kann ich die obigen Werte an anderen Stelle untereinander kriegen,
sodaß mir auch Leerzellen übersprungen werden
6000
5000
1000
5800
1000
1000
2000
2000
600
4000
1000
habe es hier auch als file.
https://www.herber.de/bbs/user/49256.xls
Besten Dank
gio

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Matrix untereinander
22.01.2008 09:16:43
Daniel
Hi,
füge einen CommandButton auf dem Blatt ein mit dem folgenden Code:

Private Sub CommandButton1_Click()
Dim z, s, zeileA, zeileE, spalteA, spalteE As Integer
Dim ErgA As Integer
zeileA = 1
zeileE = 5
spalteA = 1
spalteE = 4
ErgA = 13
For z = zeileA To zeileE Step 1
For s = spalteA To spalteE Step 1
If Cells(z, s)  "" Then
Cells(ErgA, 1) = Cells(z, s)
ErgA = ErgA + 1
End If
Next s
Next z
End Sub


zeileA = Zeilenbeginn der Zahlen
zeileE = Zeilenende der Zahlen
spalteA = Spaltenbeginn der Zahlen
spalteE = Zeilenende der Zahlen
ErgA = SpalteA, ab welcher Zeile das Ergebnis
Klappt?
Gruß
DD

Anzeige
Noch'n Makro
22.01.2008 09:26:00
Wolli
Nochmal Hi, ich hab auch noch ein Makro. Voraussetzung: Benannter Bereich "Werte"

Sub test()
Dim c As Range
For Each c In Range("Werte").Cells
If c  "" Then
ActiveCell = c
ActiveCell.Offset(1, 0).Select
End If
Next c
End Sub


(Manchmal zweifle ich an der Sinnhaftigkeit dieser geilen Matrixformeln ... sie kosten Hirnschmalz ohne Ende, keine Sau kann sie nachvollziehen und das Makro ist in einer Minute geschrieben ...)
Gruß, Wolli

Anzeige
AW: Daten aus Matrix untereinander
22.01.2008 09:39:27
Luschi
Hallo gio,
hier noch 1 Vba-Lösung mit ein paar Kommentaren dazu
https://www.herber.de/bbs/user/49259.xls
Gruß von Luschi
aus klein-Paris

AW: Daten aus Matrix untereinander
22.01.2008 09:45:09
gio
Ihre Eminenz Wolli und Daniel,
Danke für die rasche Antwort und die Lösung des Problems.
Gruss
gio
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten aus Matrix untereinander umwandeln


Schritt-für-Schritt-Anleitung

Um die Daten aus einer Matrix untereinander anzuzeigen und dabei Leerzellen zu überspringen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Füge einen CommandButton hinzu:

    • Gehe zu "Entwicklertools" > "Einfügen" > "Button (Formularsteuerelement)".
  3. Doppelklicke auf den Button und füge den folgenden VBA-Code ein:

    Private Sub CommandButton1_Click()
       Dim z, s, zeileA, zeileE, spalteA, spalteE As Integer
       Dim ErgA As Integer
       zeileA = 1
       zeileE = 5  ' Hier die letzte Zeile anpassen
       spalteA = 1
       spalteE = 4  ' Hier die letzte Spalte anpassen
       ErgA = 13    ' Startzeile für das Ergebnis
    
       For z = zeileA To zeileE Step 1
           For s = spalteA To spalteE Step 1
               If Cells(z, s) <> "" Then
                   Cells(ErgA, 1) = Cells(z, s)
                   ErgA = ErgA + 1
               End If
           Next s
       Next z
    End Sub
  4. Passen die Variablen an:

    • zeileE: Letzte Zeile mit Daten.
    • spalteE: Letzte Spalte mit Daten.
    • ErgA: Die Zeile, ab der die Ergebnisse angezeigt werden sollen.
  5. Starte das Makro, indem du auf den Button klickst. Die Werte werden untereinander in der angegebenen Spalte angezeigt.


Häufige Fehler und Lösungen

  • Fehler: "Komponente nicht gefunden"

    • Überprüfe, ob die Entwicklertools in Excel aktiviert sind.
  • Fehler: "Fehler beim Ausführen des Makros"

    • Stelle sicher, dass die angegebenen Zeilen und Spalten korrekt sind und dass es keine Leerzeilen gibt.
  • Leere Zellen werden nicht übersprungen

    • Achte darauf, dass der Code die Bedingung If Cells(z, s) <> "" Then korrekt verwendet.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch Matrixformeln nutzen. Hier ist eine einfache Formel:

  1. Verwende die Funktion FILTER (Excel 365 oder Excel 2021):
    =FILTER(B1:I20, B1:I20 <> "")
  2. Matrixformel für ältere Excel-Versionen:
    • Verwende eine Kombination aus INDEX, AGGREGATE und VERGLEICH, um die gewünschten Daten zu extrahieren. Diese Methode erfordert jedoch mehr Eingaben und ist komplexer.

Praktische Beispiele

Hier sind einige nützliche Beispiele für den Einsatz der VBA-Lösung:

  • Beispiel 1: Du hast Daten in den Zellen A1 bis D20 und möchtest diese in der Spalte F ab Zeile 1 anzeigen. Setze zeileE auf 20 und ErgA auf 1.

  • Beispiel 2: Daten sind in den Zellen B1 bis I20, und du möchtest die Ergebnisse ab Zeile 5 in Spalte A anzeigen. Stelle zeileE auf 20 und ErgA auf 5 ein.


Tipps für Profis

  • Verwende benannte Bereiche, um den Code flexibler zu gestalten. Ersetze Range("Werte") mit dem Namen deines Bereichs.
  • Kommentiere deinen Code, um die Lesbarkeit zu verbessern und zukünftige Anpassungen zu erleichtern.
  • Teste das Makro in einer Kopie deiner Datei, um unbeabsichtigte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Makro in anderen Excel-Versionen verwenden? Ja, die VBA-Lösungen funktionieren in den meisten Excel-Versionen, die VBA unterstützen.

2. Wie kann ich das Makro anpassen, um Daten aus einem anderen Bereich zu ziehen? Ändere einfach die Werte für zeileA, zeileE, spalteA und spalteE, um den gewünschten Datenbereich anzupassen.

3. Was ist der Vorteil von VBA gegenüber Formeln? VBA ist flexibler und ermöglicht komplexere Datenmanipulationen, während Formeln oft einfacher zu implementieren sind, aber weniger Anpassungsmöglichkeiten bieten.

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