Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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
Inhaltsverzeichnis

Zeilen zusammenführen

Zeilen zusammenführen
05.05.2015 12:03:40
Lars
Hallo,
ich bin leider etwas ratlos und brauche mal Hilfe.
Ich kann unsere Bestellungen als xml Datei aus dem Online Shop exportieren. Es werden leider zu einem Produkt 5 oder mehr Zeilen erstellt.
Ist es möglich die Zeilen so zusammenzuführen, dass aus den verschiedenen, unvollständigen Zeilen eine vollständige erstellt wird?
Ein Beispiel habe ich zur Veranschaulichung hochgeladen.
https://www.herber.de/bbs/user/97466.xlsx
Ich wäre sehr dankbar, wenn mir jemand helfen kann.
Viele Grüße
Lars

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen zusammenführen
05.05.2015 12:47:07
Rudi
Hallo,
in ein Modul und aus der Tabelle starten:
Sub aa()
Dim vArr(), i As Long, j As Long, n As Long
ReDim vArr(1 To WorksheetFunction.CountA(Columns(4)), 1 To 14)
n = 1
For i = 1 To 14
vArr(n, i) = Cells(1, i)
Next
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 4)  "" Then
n = n + 1
For j = 1 To 4
vArr(n, j) = Cells(i, j)
Next
Else
For j = 5 To 14
If vArr(n, j) = "" Then
vArr(n, j) = Cells(i, j)
End If
Next
End If
Next i
Worksheets.Add.Cells(1, 1).Resize(n, 14) = vArr
End Sub
Gruß
Rudi

AW: Zeilen zusammenführen
05.05.2015 13:29:51
Lars
Hallo Rudi,
danke für deine Antwort. Das Makro funktioniert in der hochgeladenen Datei, wenn ich es jedoch in der Tabelle mit allen meinen Bestellungen ausführe, dann nicht.
Muss ich dann im Code etwas ändern?
Gruß Lars

Anzeige
AW: Zeilen zusammenführen
05.05.2015 13:42:34
Rudi
Muss ich dann im Code etwas ändern?
wahrscheinlich.

AW: Zeilen zusammenführen
05.05.2015 13:48:06
Lars
bitte verzeih die ungenaue Fragestellung. Was muss ich am Code ändern, damit dieser dann funktioniert?

AW: Zeilen zusammenführen
05.05.2015 13:54:48
Rudi
bin ich Hellseher?
Ich kenne deine Mappe nicht.
Das kommt, wenn kein realistisches Bsp. gezeigt wird.

AW: Zeilen zusammenführen
05.05.2015 14:36:32
Lars
Das Bsp. war realistisch. Es liegt daran, dass ich im Muster die erste Spalte aus dem Original übersehen habe. Wenn ich die erste Spalte lösche funktioniert es. Sorry.
ich habe eine neue Liste hochgeladen, nun mit der fehlenden Spalte und einem zweiten Geschäftsfall. Kannst du mir bitte den Code ändern oder sagen was ich ändern muss?
Danke
https://www.herber.de/bbs/user/97473.xlsx

Anzeige
AW: Zeilen zusammenführen
05.05.2015 14:52:18
Daniel
Hi
teste mal folgendes (zuerst ohne Makro)
1. markiere die Zellen der Tabelle von Spalte F-O
2. schränke die Markierung auf die Leerzellen ein mit START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INALTE - LEERE ZELLEN
3. gib in die erste Leerzelle folgende Formel ein (sinngemäss: =Wenn(Wert in Spalte E eine Zeile tiefer "", dann "", sonst Wert aus Zeile drunter):
in deinem Fall ist F2 die erste leere Zelle, das ergibt die Formel: =Wenn($E3"";"";F3)
Schließe die Eingabe mit STRG+ENTER ab, damit die formel in alle Leerzellen geschrieben wird.
damit werden alle Werte in die Oberste Zeile einer ID gezogen.
4. kopiere die Spalten F-O und füge sie an gleicher Stelle als Wert ein
5. filtere in der Spalte E nach den Leerzellen und lösche sie
Gruß Daniel

Anzeige
AW: Zeilen zusammenführen
05.05.2015 15:26:50
Rudi
Hallo,
Sub aa()
Dim vArr(), i As Long, j As Long, n As Long
ReDim vArr(1 To WorksheetFunction.CountA(Columns(5)), 1 To 15)
n = 1
For i = 1 To 15
vArr(n, i) = Cells(1, i)
Next
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 5)  "" Then
n = n + 1
For j = 1 To 5
vArr(n, j) = Cells(i, j)
Next
Else
For j = 6 To 15
If vArr(n, j) = "" Then
vArr(n, j) = Cells(i, j)
End If
Next
End If
Next i
Worksheets.Add(after:=ActiveSheet).Cells(1, 1).Resize(n, 15) = vArr
End Sub

Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige