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

Forumthread: Doppelte Zeilen zusammenführen

Doppelte Zeilen zusammenführen
09.12.2020 15:13:31
Lena
Hallo zusammen,
mir hat vor 2 Wochen schon einmal jemand in diesem Forum geholfen. Ich möchte doppelte Zeilen zu einer fusionieren.
Die fusionierte Zeile soll aus den Spalten 1 und 2 der ersten gedoppelten Zeile und aus Spalte 3 und 4 der zweiten gedoppelten Zeile bestehen.
Das konnte mir der liebe Matthias auch schon programmieren.

Sub kopieren_loeschen()
Dim ende As Long
Dim zeile As Long, zwzeile As Long
ende = Cells(Rows.Count, 1).End(xlUp).Row
For zeile = 2 To ende
For zwzeile = ende To zeile + 1 Step -1
If Cells(zeile, 1)  "" Then
If Cells(zeile, 1) = Cells(zwzeile, 1) Then
'identischen Nummern
Cells(zeile, 3) = Cells(zwzeile, 3)
Cells(zeile, 4) = Cells(zwzeile, 4)
'wenn der Kommentar auch mit kopiert werden soll,
'in der nächsten Zeile den Anstrich rausnehmen
'Cells(zeile, 2) = Cells(zwzeile, 2)
Rows(zwzeile).Delete
ende = ende - 1
Exit For
End If
End If
Next
Next
End Sub

Allerdings ist mir erst im Nachhinein eingefallen, dass Zeilen auch 3mal, 4mal oder noch öfter vorkommen können. Nun brauche ich also ein Programm, dass nur das erste Duplikat und das letzte Duplikat in meiner Liste fusioniert. Alle Duplikate innerhalb der beiden äußeren sollen nicht beachtet werden, bzw. nur gelöscht werden.
Hier ist der Titel zu meinem vorherigen Beitrag, vielleicht hilft der euch ja weiter.
Doppelte Zelle nur teilweise fusionieren LG Lena
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Zeilen zusammenführen
09.12.2020 17:20:34
onur

Sub kopieren_loeschen()
Dim ende As Long, löschen(1000) As Boolean
Dim row, row2, firstrow, lastrow
ende = Cells(Rows.Count, 1).End(xlUp).row
For row = 2 To ende
firstrow = 0: lastrow = 0
For row2 = row + 1 To ende
If Cells(row, 1)  "" Then
If Cells(row, 1) = Cells(row2, 1) Then
If firstrow = 0 Then firstrow = row
lastrow = row2
löschen(row2) = True
Cells(row, 3) = Cells(row2, 3)
Cells(row, 4) = Cells(row2, 4)
End If
End If
Next row2
Next row
For row = ende To 2 Step -1
If löschen(row) Then Rows(row).Delete
Next row
End Sub

Anzeige
AW: Doppelte Zeilen zusammenführen
10.12.2020 16:05:32
Lena
Vielen Dank!!!
Gerne !
10.12.2020 16:07:49
onur
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Doppelte Zeilen in Excel zusammenführen


Schritt-für-Schritt-Anleitung

Um doppelte Zeilen in Excel zusammenzuführen, kannst du ein VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du das machst:

  1. Excel öffnen: Starte Excel und öffne die Arbeitsmappe, in der du die doppelten Zeilen zusammenführen möchtest.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  4. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub kopieren_loeschen()
        Dim ende As Long, löschen(1000) As Boolean
        Dim row, row2, firstrow, lastrow
        ende = Cells(Rows.Count, 1).End(xlUp).Row
        For row = 2 To ende
            firstrow = 0: lastrow = 0
            For row2 = row + 1 To ende
                If Cells(row, 1) <> "" Then
                    If Cells(row, 1) = Cells(row2, 1) Then
                        If firstrow = 0 Then firstrow = row
                        lastrow = row2
                        löschen(row2) = True
                        Cells(row, 3) = Cells(row2, 3)
                        Cells(row, 4) = Cells(row2, 4)
                    End If
                End If
            Next row2
        Next row
        For row = ende To 2 Step -1
            If löschen(row) Then Rows(row).Delete
        Next row
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle kopieren_loeschen aus der Liste und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"
    Lösung: Stelle sicher, dass deine Daten keine leeren Zellen in der ersten Spalte enthalten.

  • Fehler: Doppelte Zeilen werden nicht korrekt zusammengeführt
    Lösung: Überprüfe, ob die Werte in der ersten Spalte tatsächlich identisch sind (z.B. Leerzeichen).


Alternative Methoden

Neben VBA kannst du auch die folgenden Methoden nutzen, um doppelte Werte zusammenzuführen:

  1. Pivot-Tabellen: Nutze Pivot-Tabellen, um die Datensätze zusammenzufassen und die Duplikate zu eliminieren.
  2. Formeln: Verwende die VERGLEICH- oder WENN-Funktion, um doppelte Einträge zu identifizieren und manuell zu bearbeiten.

Praktische Beispiele

Hier ist ein einfaches Beispiel:

Angenommen, du hast folgende Daten:

A B C D
1 Kommentar 100 200
1 Kommentar 150 250
2 Kommentar 200 300

Nach dem Ausführen des Makros wird die Tabelle so aussehen:

A B C D
1 Kommentar 150 250
2 Kommentar 200 300

Tipps für Profis

  • Backup erstellen: Erstelle immer eine Sicherungskopie deiner Daten, bevor du Makros ausführst.
  • Daten filtern: Verwende die Filterfunktion in Excel, um nur die relevanten Daten anzuzeigen, bevor du das Skript ausführst.
  • Excel-Shortcuts nutzen: Lerne die häufigsten Excel-Shortcuts, um deine Arbeitsweise effizienter zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich nur bestimmte Spalten zusammenführen?
Du kannst den VBA-Code anpassen, indem du die entsprechenden Spalten in den Cells-Befehlen änderst.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, das Skript sollte in den meisten Excel-Versionen ab Excel 2007 funktionieren. Stelle sicher, dass Makros aktiviert 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