Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Probleme mit Vergleich und Find in VBA

Probleme mit Vergleich und Find in VBA
17.11.2004 12:41:43
Stefan
Hallo Excelfprofis
Ich habe aus der Recherche einen Code zum Vergleich zweier Listen angepaßt.
Da ich nur Anfänger in VBA bin, verstehe ich die unten aufgeführten Probleme nicht- sind mir bei der Anwendung aufgefallen.
Aufgabe des Code ist es,
Werte aus 2 Tabellen zu vergleichen ob alle Werte oder Texte aus Tabelle 1 Spalte 3 auch in Tabelle 2 Spalte 3 vorhanden sind.
Werte die in Tab 2 fehlen werden in Tabelle 3 aufgelistet.
Dabei passiert folgenden
- die Abweichungsauflistung weicht von einer vorherigen Abfrage ab ( - es wurden aber keine Änderungen vorgenommen ( großes ?)
- es werden Werte aufgeführt die sicher in beiden Tabellen vorhanden sind

- die Abweichungsauflistung ist nicht vollständig
Worin liegen die Ursachen für die Probleme und wie kann ich diese abstellen.
Vielen Dank im voraus für Eure Hilfe
Stefan

Sub vergleich()
Dim aZeile as long
For aZeile = 1 To Cells(1, 3).SpecialCells(xlLastCell).Row
Wert = Sheets("1").Cells(aZeile, 3) ' Wert aus sheet1 soll in 2 geprüft
With Worksheets("2").Columns(3)
Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
End With
If c Is Nothing Then ' Schreibt Artikelnummer in Tabelle 3 wenn fehlt
With Worksheets("3")
r = .Cells(65536, 1).End(xlUp).Row + 1
Cells(r, 1) = Wert
End With
End If
Next aZeile
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Vergleich und Find in VBA
Ulf
SpecialCells(xlLastCell) ist nicht zuverlässig. Ermittel den Wert auf eine andere Weise.
Ulf
AW: Probleme mit Vergleich und Find in VBA
17.11.2004 13:42:43
Juergen
Hallo Stefan.
So wie es aussieht, hast du nur einen Punkt "." vergessen. Wo du den Zellinhalt (Wert) zuweist greifst du auf das dann aktuelle Datenblatt zu. Zwar hast du mit der With Worksheets("3") dein Ziel genannt, aber nicht angesprochen. Vermutlich hast du unterschiedliche Ergebnisse erhalten, weil du beim probieren immer mal wieder ein anderes Blatt aktiv hattest.
Also: Einfach .Cells(r,1)=Wert (Punkt nicht vergessen) und das Prinzip funktioniert.
-Juergen
ps. Vielleicht auch der Variablen "Wert" einen Typ zuweisen.
Anzeige
AW: Probleme mit Vergleich und Find in VBA
WernerB.
Hallo Stefan,
die von Dir beschriebene Aufgabe würde ich so lösen:

Sub vergleich()
Dim SuBe As Range
Dim s As String
Dim laR1 As Long, laR2 As Long, laR3 As Long, i As Long
laR1 = Sheets("1").Cells(Rows.Count, 3).End(xlUp).Row
laR2 = Sheets("2").Cells(Rows.Count, 3).End(xlUp).Row
For i = 1 To laR1
s = Sheets("1").Cells(i, 3) ' Wert aus sheet1 soll in 2 geprüft
With Sheets("2")
Set SuBe = .Range(.Cells(1, 3), .Cells(laR2, 3)). _
Find(s, LookIn:=xlValues, LookAt:=xlWhole)
End With
If SuBe Is Nothing Then ' Schreibt Artikelnummer in Tabelle 3 wenn fehlt
With Sheets("3")
laR3 = .Cells(Rows.Count, 1).End(xlUp).Row
If laR3 = 1 And .Cells(1, 1).Value = "" Then laR3 = 0
.Cells(laR3 + 1, 1).Value = s
End With
Else
Set SuBe = Nothing
End If
Next i
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
Danke
Stefan
Vielen dank an Euch
eure Hinweise haben mir geholfen, den Code von Werner werde ich ausprobieren
also nochmals danke
Gruß Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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