Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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

VBA: Prüfen von Werten auf Vorhandensein

VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:03:03
Werten
Hallo Excel-Freunde,
ich möchte zwei Listen miteinander vergleichen, eine Quell- und eine Zielliste. In der Quellliste soll für jede Zeile abgefragt werden, ob der Eintrag in der Zielliste vorhanden ist. Wenn ja, alles gut, wenn nein, dann soll der Eintrag am Ende der Zielliste als Zeile eingefügt werden (den Teil habe ich noch nicht).
Folgenden Code habe ich dazu bisher:
Sub Liste_aktualisieren()
Dim oZelle As Object
Dim rQuellliste As Range
Dim rZielliste As Range
Set rQuellliste = Worksheets("Tabelle_1").Range("F2:F36")
For Each oZelle In rQuellliste
Set rZielliste = Worksheets("Tabelle_2").Range("B:B").Find(rQuellliste, LookIn:=xlValues,   _
_
LookAt:=xlWhole)
If rZielliste Is Nothing Then
MsgBox "Wert ist nicht vorhanden!"
Else
End If
Next
End Sub

Ich habe folgendes Problem: die Schleife wird nicht korrekt durchlaufen, d.h. bei jedem Makro-Durchlauf wird immer nur die erste Zelle der Quellliste geprüft (also F2).
Ihr erkennt mit eurem geübten Auge bestimmt gleich, woran das liegen könnte?
Vielen Dank!
Nitokris

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:14:05
Werten
Hallo,
diese Zeile so:
Set rZielliste = Worksheets("Tabelle_2").Range("B:B").Find(oZelle, LookIn:=xlValues, LookAt:=xlWhole)

Du suchst doch nach dem Wert in der jeweiligen Zelle. Du kannst nicht nach einem Bereich suchen.
Gruss Torsten
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:44:20
Werten
Hallo Torsten,
danke erst mal. Deine Argumentation klingt schlüssig ;), nur leider ändert sich bei mir nichts am Ergebnis, wenn ich den Code entsprechend anpasse, d.h. es wird nach wie vor bei jedem Schleifenschritt nur F2 überprüft.
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:58:51
Werten
... ich korrigiere mich, die Schleife wird korrekt durchlaufen. Mein Fehler. Danke noch mal für deine Hilfe!
Anzeige
gerne...
05.09.2019 08:42:18
Torsten
gerne...
05.09.2019 08:42:26
Torsten
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:30:49
Werten
HI
das kannst du auch so machen:
1. kopiere die Quellliste und füge sie unterhalb der Zielliste ein
2. führe mit der ganzen Tabelle die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN und verwende die Spalte mit dem ID-Begriff als Kriterium
das setzt voraus, dass beide Tabellen die gleiche Spaltenreihenfolge haben und der ID-Begriff innerhalb einer Tabelle nur 1x vorkommt.
Gruß Daniel
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:42:33
Werten
Hallo Daniel,
vielen Dank für deine Antwort. Die Variante über die Excel-Bordmittel möchte ich nicht nutzen, da das Prozedere 1) sehr häufig, 2) nicht von mir durchgeführt wird und ich 3) ja im Folgeschritt auch jeweils noch die fehlenden Zeilen automatisch in der Zielliste ergänzen möchte. Für die Summe dieser Tätigkeiten möchte ich dem Benutzer eine einfache "1-Klick-Lösung" an die Hand geben.
Viele Grüße
Nitokris
Anzeige
AW: VBA: Prüfen von Werten auf Vorhandensein
04.09.2019 15:53:48
Werten
Alle "Excelbordmittel" kannst du immer auch per Makro ausführen lassen, wenn eine "1-Klick-Lösung" für den Anwender gefordert ist.
Solche Lösungen sind dann häufig sehr schnell und kommen mit weniger Code aus als "richtige" VBA-Makros.
Außerdem hast du den Vorteil, dass du vorher manuell ausprobieren kannst, was das Makro tun soll und dir der Recorder bei der Erstellung des Codes mehr helfen kann.
Und zu deinem Punkt 3)
Genau das macht mein Vorschlag, nur dass zuerst alle Zeilen rüberkopiert werden und dann die nicht benötigten gelöscht werden.
Gruß Daniel

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige