Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlen zweir Spalten vergleichen

Zahlen zweir Spalten vergleichen
15.06.2006 02:50:23
Uwe Grund
Hallo zusammen,
in den Spalten A und B habe ich jeweils aufsteigend sortierte Zahlen.
Diese Spalten können durchaus mal über mehrere hundert Zeilen gehen, wobei die Zeilenanzahl der Spalten differieren kann. Deshalb bringt die Sortierung hier
Nun möchte ich, dass die Spalten zeilenweise verglichen werden. Deshalb bringt die Sortierung hier nichts.
Ich lese die Zeilen im übrigen aus einer Quelldatei aus, die erhalten bleibt.
In meinem Makro habe ich bereits, wenn A = B, wird dies Zeile nicht in die Zieldatei kopiert.
Nun kann es aber sein, dass z.B. die 1001 in Zelle A:999 und B:1005 erscheint und damit die 1001 auch gelöscht werden soll.
Ist nun die Zahl 1004 nur in Spalte A oder B vorhanden, soll diese in die jeweilige Spalte der Zieldatei kopiert werden.
Für einen Tipp wäre ich dankbar.
Gruß Uwe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen zweir Spalten vergleichen
15.06.2006 08:00:52
Lukas Mosimann
Hallo Uwe
Sende doch bitte deine Datei an meine Mail-Adresse, so komme ich vielleicht ein bisschen besser nach.
Gruss
Lukas
AW: Zahlen zweir Spalten vergleichen
15.06.2006 08:19:23
Sylvio
Hey Uwe,
ich hab mal versucht was zusammenzubasteln. Ich weiß net genau ob du das so meinst.
Hier mal ne Datei zum ausprobieren:
https://www.herber.de/bbs/user/34370.xls
Gruß sylvio
AW: Zwei Spalten vergleichen
15.06.2006 13:24:01
Erich G.
Hallo Uwe und Sylvio,
die von Sylvio gepostete Lösung funzt nicht, wenn Spalte B mehr Zeilen hat als Spalte A.
Ich hab sie etwas ausgebaut, drei Varianten sind daraus geworden.
Die erste kopiert das gesamte Quellblatt und arbeitet auf der Kopie,
die zweite legt ein neues Blatt an, das nur die beiden Spalten enthält,
die dritte ist wie die zweite, gibt aber in der dritten Spalte auch die gemeinsamen Werte aus:
Option Explicit
Sub tst()
LoescheGleicheAusZweiSpaltenB Sheets("tst"), "A", "B"
VergleichZweiSpalten ActiveSheet, 1, 2
LoescheGleicheAusZweiSpaltenS Sheets(1), 1, 2
End Sub
Sub LoescheGleicheAusZweiSpaltenB(wsQ As Worksheet, varSp1 As Variant, varSp2 As Variant)
Dim zzA As Long, zzB As Long, aa As Long, bb As Long
wsQ.Copy after:=wsQ                       ' Quellblatt komplett kopieren
zzA = Cells(Rows.Count, varSp1).End(xlUp).Row
zzB = Cells(Rows.Count, varSp2).End(xlUp).Row
aa = 1
While aa <= zzA
bb = 1
Do While bb <= zzB
If Cells(aa, varSp1) = Cells(bb, varSp2) Then
Cells(aa, varSp1).Delete xlShiftUp:   zzA = zzA - 1:   aa = aa - 1
Cells(bb, varSp2).Delete xlShiftUp:   zzB = zzB - 1
Exit Do
Else
bb = bb + 1
End If
Loop
aa = aa + 1
Wend
End Sub
Sub LoescheGleicheAusZweiSpaltenS(wsQ As Worksheet, varSp1 As Variant, varSp2 As Variant)
Dim zzA As Long, zzB As Long, aa As Long, bb As Long
Worksheets.Add after:=wsQ
wsQ.Columns(varSp1).Copy Cells(1, 1)      ' Spalten aus Quellblatt kopieren
wsQ.Columns(varSp2).Copy Cells(1, 2)
zzA = Cells(Rows.Count, 1).End(xlUp).Row
zzB = Cells(Rows.Count, 2).End(xlUp).Row
aa = 1
While aa <= zzA
bb = 1
Do While bb <= zzB
If Cells(aa, 1) = Cells(bb, 2) Then
Cells(aa, 1).Delete xlShiftUp:   zzA = zzA - 1:   aa = aa - 1
Cells(bb, 2).Delete xlShiftUp:   zzB = zzB - 1
Exit Do
Else
bb = bb + 1
End If
Loop
aa = aa + 1
Wend
End Sub
Sub VergleichZweiSpalten(wsQ As Worksheet, varSp1 As Variant, varSp2 As Variant)
Dim zzA As Long, zzB As Long, aa As Long, bb As Long, cc As Long
Worksheets.Add after:=wsQ
wsQ.Columns(varSp1).Copy Cells(1, 1)      ' Spalten aus Quellblatt kopieren
wsQ.Columns(varSp2).Copy Cells(1, 2)
zzA = Cells(Rows.Count, 1).End(xlUp).Row
zzB = Cells(Rows.Count, 2).End(xlUp).Row
aa = 1
While aa <= zzA
bb = 1
Do While bb <= zzB
If Cells(aa, 1) = Cells(bb, 2) Then
cc = cc + 1:                     Cells(cc, 3) = Cells(aa, 1)
Cells(aa, 1).Delete xlShiftUp:   zzA = zzA - 1:   aa = aa - 1
Cells(bb, 2).Delete xlShiftUp:   zzB = zzB - 1
Exit Do
Else
bb = bb + 1
End If
Loop
aa = aa + 1
Wend
Rows(1).Insert                            ' Spaltenüberschriften
Cells(1, 1) = "nur in " & varSp1
Cells(1, 2) = "nur in " & varSp2
Cells(1, 3) = "gemeinsam"
[A1].Select
End Sub
Rückmeldung wäre nett!
Noch einen schönen Feiertag wünscht Erich aus Kamp-Lintfort
Anzeige
AW: Zwei Spalten vergleichen
16.06.2006 17:47:34
Uwe Grund
Hallo Leute,
erst mal danke für Eure Mithilfe.
Hat ein wenig gedauert, da ich eure Quelltexte erst einmal an mein Makro anpassen musste, da meine Datei schließlich nicht nur aus Zelle A und B besteht.
Habe mich für die 2. Variante von Erich´s Vorsschlag entschieden, damit funktioniert alles auch im Zusammenhang.
Danke und schönes Wochenende
Gruß Uwe

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige