Wie Datenstrukturen in Excel manipulieren?
Hallo zusammen,
ich habe eine Excel-Datei, bei der je Zeile verschiedene Manipulationen durchgeführt werden sollen.
Beispiel:
In Zeile 1 gibt es die Spalten A,B,C,D,E, F und G.
In jeder der Spalten E, F und G können Werte (Dezimalzahlen) stehen, müssen aber nicht.
Es soll nun geprüft werden, ob Werte in den Spalten vorhanden sind und wenn ja, dann soll je wertenthaltende Spalte eine neue Zeile entstehen.
Die Originalzeile ist also z.B. bei folgenden Spalten mit Werten belegt:
ABCDEFG
Entstehen sollen daraus 3 Zeilen:
ABCDE
ABCDF
ABCDG
(Die Daten sollen hinterher in ein Programm importiert werden, welches je Zeile nur einen Wert verarbeiten kann).
Nun meine Frage:
Wie macht man das generell in Excel? Gibts dafür Funktionen, oder macht man das mit VBA?
Ich erwarte natürlich keine komplette Lösung - aber wenn mich jemand in die richtige Richtung stupsen würde, käme ich damit schon weiter.
Vorhanden ist übrigens ein Excel 2010.
Vielen Dank vorab!
Gruß,
Colt
ich habe eine Excel-Datei, bei der je Zeile verschiedene Manipulationen durchgeführt werden sollen.
Beispiel:
In Zeile 1 gibt es die Spalten A,B,C,D,E, F und G.
In jeder der Spalten E, F und G können Werte (Dezimalzahlen) stehen, müssen aber nicht.
Es soll nun geprüft werden, ob Werte in den Spalten vorhanden sind und wenn ja, dann soll je wertenthaltende Spalte eine neue Zeile entstehen.
Die Originalzeile ist also z.B. bei folgenden Spalten mit Werten belegt:
ABCDEFG
Entstehen sollen daraus 3 Zeilen:
ABCDE
ABCDF
ABCDG
(Die Daten sollen hinterher in ein Programm importiert werden, welches je Zeile nur einen Wert verarbeiten kann).
Nun meine Frage:
Wie macht man das generell in Excel? Gibts dafür Funktionen, oder macht man das mit VBA?
Ich erwarte natürlich keine komplette Lösung - aber wenn mich jemand in die richtige Richtung stupsen würde, käme ich damit schon weiter.
Vorhanden ist übrigens ein Excel 2010.
Vielen Dank vorab!
Gruß,
Colt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 518954
Url: https://administrator.de/forum/wie-datenstrukturen-in-excel-manipulieren-518954.html
Ausgedruckt am: 13.04.2025 um 22:04 Uhr
6 Kommentare
Neuester Kommentar
Moin Moin,
Aus einer Tabelle von mir:
(Hauptseite!B7 ist hier das erste Blatt, Zelle B7, kann damit auch eine normale Zelle stehen sprich ohne "Hauptseite!")
Ich tippere das entsprechend in die Zellen ein.
Die Wenn Abfrage bedeutet das er erst reagiert wenn IRGENDETWAS (nicht leer bedeutet <>"") drinnen steht.
Probiere mal aus.
Just my Senf
Tom
Aus einer Tabelle von mir:
1
=WENN(Hauptseite!B7<>"";(Hauptseite!A7&", "&Hauptseite!B7);"")
(Hauptseite!B7 ist hier das erste Blatt, Zelle B7, kann damit auch eine normale Zelle stehen sprich ohne "Hauptseite!")
Ich tippere das entsprechend in die Zellen ein.
Die Wenn Abfrage bedeutet das er erst reagiert wenn IRGENDETWAS (nicht leer bedeutet <>"") drinnen steht.
Probiere mal aus.
Just my Senf
Tom

VBA Variante
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub ZeilenErstellen()
Dim arrColumns As Variant, cell As Range, rngNewRow As Range, i As Integer
arrColumns = Array("E", "F", "G")
With ActiveSheet
For Each cell In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
For i = 0 To UBound(arrColumns)
If .Cells(cell.Row, arrColumns(i)).Value <> "" Then
Set rngNewRow = .Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
cell.Resize(1, 4).Copy Destination:=rngNewRow
.Cells(cell.Row, arrColumns(i)).Copy Destination:=rngNewRow.Offset(0, 4)
End If
Next
Next
End With
End Sub
Vor Makro
Nach Makro Tabelle um Einträge ergänzt

Joa, und wenn der TO sich dann auch noch mal hierher bequemen würde, könnte man das ganze auch abschließen.