@xlKing
Die Xe im Zielbereich müssen bleiben auch wenn die Daten diese nicht mehr abbilden, deshalb werden sie fest eingetragen und nicht per Formel (per Formel würde schon wegen der Performance nicht gehen ^^").
Das Problem ist, dass Xe an stellen eingetragen werden, wo es noch nie Daten dazu gab.
"Erfassung" ist das erste Tabellenblatt wo die Nummern eingetragen/erstellt werden. Das heißt wenn sie dort nicht sind, können sie nicht im System sein.
In unser System werden die dann noch über eine Schnittstelle eingepflegt, dann sind sie generell in der Produktion buchbar. Das was gebucht wird wird wieder als Exceldatei ausgeschmissen und ich zieh mir das dann wieder mit Power Query in die "Erfassung".
Ja, ist etwas Hickhack aber das System, was wir haben, stellt uns alles was wir brauchen nicht so dar, wie wir es gern hätten, deswegen die Umwege.
Interessant an deiner Antwort ist aber der Part "Dann erhältst du einen Laufzeitfehler, weil die Find-Funktion keine Zelle findet. Falls du diesen mit On Error übergehst, wird für Zeile bzw. Spalte der vorherige Wert verwendet." Ich hab tatsächlich nur ein On Error Resume Next drin. Das ist das doofe, wenn auch andere Mitarbeiter und diese auch mit unterschiedlichen Excelversionen mit der gleichen Datei arbeiten müssen. Ich hab keine Ahnung was alles für Fehler auftreten können und in meiner Firma bemühe nur ich mich um VBA.
Ich hatte ja schon das Problem, dass die Daten im falschen Datentyp eingepflegt wurden auch wenn man die ganze Spalte auswählt und den Typ Zahl einstellt, blieben die als Text eingepflegten Zahlen Texte und ein Sverweis findet die Zahl dann auch nicht. Ich glaub das Makro findet die Zahl dann ebenso nicht. Das war ja nur durch die Funktion "Text in Spalte" behebbar.
... eventuell kann ich den Weg gehen die 2000 Zeilen als Array einzulesen und das Find oder Match im Speicher zu nutzen und dann den ganzen Bereich überschreiben. Wenn da was schief geht ... Also lieber noch ne Sicherung vor jedem Durchlauf ablegen.
Auf jeden Fall danke xlKing und Mase ich werd bestimmt/hoffentlich nächste Woche Zeit finden die Fehler auszumärzen und meld mich dann wieder.
|