2016-08-08 64 views
0

Ich exportiere einen Bericht, und der Datensatz wird beim Importieren in Excel in mehrere Zeilen aufgeteilt. Jeder Bericht enthält nach dem Import mehr als 30.000 Zeilen. Die einzige Spalte, die von der Teilung verschont bleibt, ist Spalte A, jede andere Spalte könnte in zwei bis vier Reihen aufgeteilt werden. Gibt es trotzdem eine automatische Zusammenführung dieser Zeilen, so dass es aussieht wie der untere Teil des Bildes?Excel-Zeilen zusammenführen, in denen der Datensatz aufgeteilt wurde

Concatenation Export and Ideal results: Excel

+2

Wenn Sie nicht bereits haben, würde ich in die Anpassung aussehen, wie Sie in Excel importieren. Ich bin mir nicht sicher, wie die Datei aussieht, aus der Sie ziehen, aber es mag einfach sein. –

+0

@MaciejLos Ich habe eine Formel verwendet, um zwei Zellen in leere Spalten zu verketten, aber dies funktioniert nicht für alle Datensätze, so muss ich manuell das gesamte Dokument immer noch durchlaufen – Tyler

+0

@LoopMe es ist eine TXT-Datei – Tyler

Antwort

0

Sie können diesen Code verwenden:

Option Explicit 

Sub main() 
    Dim area As Range 
    Dim strng As String 
    Dim iRow As Long, startRow As Long, endRow As Long, iCol As Long 

    With Worksheets("Export") '<--| change "Export" with your actual sheet name 
     With .Range("A2:A" & .UsedRange.Rows(.UsedRange.Rows.Count).row).SpecialCells(xlCellTypeBlanks) 
      For Each area In .Areas 
       strng = "" 
       startRow = area.End(xlUp).row 
       endRow = area.Rows(area.Rows.Count).row 
       iCol = area.End(xlToRight).Column 
       For iRow = startRow To endRow 
        strng = strng & .Parent.Cells(iRow, iCol) & " " 
       Next iRow 
       .Parent.Cells(startRow, iCol) = strng 
      Next area 
      .EntireRow.Delete 
     End With 
    End With 
End Sub 
+0

Danke! Dies scheint für die meisten Datensätze funktioniert zu haben. Ich habe der Frage ein Bild hinzugefügt, damit Sie die Ergebnisse sehen können, bei denen es nicht funktioniert hat, wenn Sie neugierig waren. Das hat mir immer noch geholfen etwas Zeit zu sparen. – Tyler

+0

Sie sind willkommen. dann bitte meine Antwort als akzeptiert markieren. danke – user3598756

+0

@Tyler: hat es nicht mehr funktioniert? – user3598756