Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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
2 Spalten vergleichen
09.11.2017 17:01:56
gast123
Hallo zusammen,
ich habe folgendes VBA (Excel) Problem:
Ich habe in einem Tabellenblatt zwei Spalten. Nun will ich die zweite Spalte in
ein anderes Arbeitsblatt (Tabelle2) übertragen.
Es sollen aber nur die Nummern übertragen werden (von Spalte 2), welche sich nicht auch in der ersten Spalte befinden. Das heisst ich überprüfe, ob die Einträge der zweiten Spalte
auch in der ersten Spalte vorhanden sind. Falls nicht, dann übertrage sie in die Ausgabe Tabelle im zweiten Arbeitsblatt ("Tabelle2"). Falls vorhanden, dann übertrage die Nummer (von Spalte 2) nicht.
Ich habe folgendes Programm geschrieben. Das Programm funktioniert bis er die erste Nummer in Spalte 2 findet, die auch in Spalte 1 ist. Dann wird die Nummer nicht übertragen (wie gewollt). Aber alle nachfolgenden Werte werden auch nicht übertragen. Das heißt irgendwie muss die Schleife unterbrochen worden sein. Wahrscheinlich hat das Problem irgendwas mit der äußeren for..next schleife zu tun.
Ich wäre sehr dankbar wenn wir jemand weiterhelfen kann, da ich einfach nicht auf den Fehler komme.
Mfg
Meine Arbeitsmappe: https://www.herber.de/bbs/user/117570.xlsm

Sub programm()
Dim neu As String
Dim alt As String
Dim i As Integer
Dim z As Integer
Dim gleicherwert As Boolean
Dim letzteZeile As Integer
For z = 3 To Worksheets("Tabelle1").UsedRange.Rows.Count
letzteZeile = Worksheets("Tabelle2").UsedRange.Rows.Count + 1
neu = Worksheets("Tabelle1").Cells(z, 4).Value
For i = 3 To Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
alt = Worksheets("Tabelle1").Cells(i, 2).Value
If alt = neu Then
gleicherwert = True
End If
Next i
If gleicherwert = False Then
Worksheets("Tabelle2").Cells(letzteZeile, 2).Value = Worksheets("Tabelle1"). _
Cells(z, 4).Value
End If
If gleicherwert = True Then
End If
Next z
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 Spalten vergleichen
09.11.2017 17:10:03
Werner
Hallo,
da würde ich einfach beide Spalten ins zweite Blatt kopieren und dann auf die Zielspalte Duplikate entfernen anwenden.
Lässt sich mit dem Makrorekorder aufzeichnen.
Gruß Werner
AW: 2 Spalten vergleichen
09.11.2017 17:47:29
gast123
Danke Werner für die schnelle Antwort!
Das ist eine gute Idee, aber gibt es auch eine VBA Code-Lösung?
Nachfrage
09.11.2017 18:59:39
Werner
Hallo,
jetzt noch mal nachgefragt.
Was willst du genau als Ergebnis in Spalte B von Blatt 2?
-alle Nummern aus Spalte B und D aus Blatt1 ohne Doppler
-nur die Nummmern aus Spalte D Blatt1 die nicht in Spalte B Blatt1 vorkommen?
Gruß Werner
AW: Nachfrage
09.11.2017 19:40:45
gast123
Hallo Werner,
als Ergebnis hätte ich gerne in Spalte B (Blatt 2)
alle Nummern aus Spalte D (Blatt 1) ohne die Nummern die auch in Spalte B (Blatt) vorkommen
also hier im Beispiel als Ergebnis in Spalte B (Blatt 2): alle Nummern aus D ohne Nummer 55 und 123, da diese ja auch in Spalte B (Blatt 1) vorkommen
mfg
Anzeige
AW: Nachfrage
09.11.2017 19:59:43
Werner
Hallo,
noch eine - da hab ich vorher nicht nachgedacht.
Was ist bei folgendem Fall:
Du hast schon Nummern im Blatt 2. Da im Blatt 1 die Spalten B und D gegeneinander abgeglichen werden und nicht noch mit den Daten im Blatt 2 gegengeprüft wird könnte es sein, dass du in deiner Ergebnisspalte doppelte Nummern hast. Darf das sein oder nicht? Soll bei Makrostart erst die Nummern in deiner Zielspalte gelöscht werden oder sollen die jeweils unten angefügt werden?
Soll beim Makrolauf auch gleich die Spalte D im Blatt 1 geleert werden oder werden die Daten noch gebraucht?
Ich hab schon eine Lösung fertig. Die setzt derzeit aber voraus, dass im Blatt 1 die Spalte E frei ist, da ich in Spalte E die Datensätze mittels Formel markiere, die kopiert werden müssen. Steht Spalte E zur Verfügung?
Gruß Werner
Anzeige
AW: Nachfrage
09.11.2017 20:10:33
gast123
Hallo Werner,
Die Nummern in Blatt 2 sind das Ergebnis, wenn ich das bisherige Makro (mein Programm) starte. Vor dem Makro start sollte Blatt 2 natürlich leer sein...wahrscheinlich mit einem Clear-Befehl, den hab ich vergessen. Die Spalte E ist steht zur Vefügung. Ich habe eine Lösung mit der "wenns" Formel gefunden. Geht deine Lösung in eine ähnliche Richtung?
mfg
AW: deine Mustermappe
09.11.2017 21:15:34
gast123
Hallo,
perfekt!!Läuft einwandfrei!
Vielen, vielen Dank für deine Hilfe
mfg
Anzeige
Gerne u.Danke für die Rückmeldung. o.w.T.
09.11.2017 21:21:38
Werner

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige