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

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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige