Suchlauf findet nicht alle Elemente, wo ist Fehler

Hi,

ich kenn mich immer noch nicht so gut mit VBA und Excel aus, hab die folgende Problematik:

  • Exceldatei mit 3 Mappen.
  • Mappe1: Liste NEU
  • Mappe2: Übersicht der Auswertung (egal für diese Frage)
  • Mappe3: Liste ALT

folgendes Skript soll nun beide Listen vergleichen und

a) Teile, die in der neuen liste sind UND NICHT in der alten -> in die alte hinzufügen
b) Teile, die in der alten liste sind UND NICHT in der neuen -> aus der alten löschen
c) wenn sich Mengen in der neuen liste geändert haben, sollen diese in der alten liste aktualisiert werden ( DAS IST DAS RELEVANTE )

Hier der CODE:



'Änderungen bei Rückstandsmengen in alte Liste einpflegen

'und Länge der alten, aktuellen Liste ermitteln
Sheets(3).Select
LaengeAlteListe2 = 6
Do Until IsEmpty(Cells(LaengeAlteListe2, 1))
LaengeAlteListe2 = LaengeAlteListe2 + 1
Loop

'Liste neu sortieren

Sheets(3).Select
Rows(„6:6“).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range(„A6“), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers

Sheets(1).Select 'In der neuen Liste
intRow = 2 'bei der ersten Teilenummer beginnen
z = 0

While intRow

Dieses Skript läuft jede Zeile durch, findet auch im aktuellen Fall 2 Teilenummern, die aktualisiert werden… aber 2 weitere nicht, warum?

Danke und Gruß, Christian Jürgens

Hallo Christian,

du kennst ja erfreulicherweise Html-Tags, benutze aber anstatt code pre.

Und Präfixe kennst du auch, auch sehr gut, für Zeilen und Spalten immer Long benutzen, also lngRow.

Beim Sortieren schmeiß bei
Header:=xlGuess
das xlGuess raus und ersetze es durch xlNO oder xlYES

Beim Codedurchlesen wird mir ganz schwummerig aufgrund der permanenten Selection. Nix persönliches, ich weiß ja woher so ein Unsinn kommt *finster zu Bill Gates schau*

So, jetzt zur Anfrage. Grundsätzlich gilt bzw. ist der hauptgrund wenn etwas nicht gefunden wird, es sieht zwar in beiden Listen gleich aus, aber es unterscheidet sich in der Formatierung.

Möglicherweise stehen in den betreffenden zellen gar noch unnötige Leerzeichen die man nicht sieht, die aber das Suchergebnis verfälschen können.

Check das mal bitte.

Gruß
Reinhard

Hi,

also erstmal vielen dank für die reichhaltigen tipps :smile:

ich habe, zu meiner verteidigung, mehrfach versucht, den einzufügen, wie es in der hilfe steht, aber danke für die info mit dem

... werds beherzigen.

habe die intRow gegen lngRow getauscht und die Werte auf Formatierung überprüft, Resultat: ohne Befund... alles korrekt formatiert, nur der Fehler ist wie vorher geblieben... bei den gleichen 2 Werten... alles andere wird richtig erkannt, etc...

Hallo Christian,

ich habe, zu meiner verteidigung, mehrfach versucht, den
einzufügen, wie es in der hilfe steht, aber danke für
die info mit dem

… werds beherzigen.

ich muß da mal schauen was code überhaupt machen soll. Wenn code hier bei w-w-w nix bringt sollte es entfernt werden aus der Hilfe. Wenn ich dran denke mail ich mal an Jessica.

habe die intRow gegen lngRow getauscht und die Werte auf
Formatierung überprüft, Resultat: ohne Befund… alles korrekt
formatiert, nur der Fehler ist wie vorher geblieben… bei den
gleichen 2 Werten… alles andere wird richtig erkannt, etc…

Kannst du die Mappe mal hochladen mit FAQ:2606 ?
Wenn du mir dann noch deinen Punkt c) genauer erklärst habe ich da sicher schneller ganz neuen Code gebastelt als mich in dein Selectungeheuer eingearbeitet.

Gruß
Reinhard