Optimierung per VBA Code
06.01.2019 15:38:19
Markus
ich suche eine optimierte Lösung eventuell über VBA-Code. Leider habe ich in Sachen VBA nur geringste Kenntnisse.
Beruflich muss ich eine Excel Datei (12 Arbeitsblätter=12 Monate) mit insgesamt bis zu 55000 Einträgen (Zeilen) verwalten. Es handelt sich um Einschreiben die tagtäglich verschickt werden. Eine Testdatei befindet sich im Anhang.
Istzustand:
Von den verschickten Einschreiben kommen, Tage später oder auch Wochen, bis zu 4500 St. (Rückläufer) im Jahr zurück, die nicht zugestellt werden konnten, verschiedene Gründe (Verzogen, Verstorben, Annahme verweigert usw.). Diese muss ich kenntlich machen bzw. verwalten. Bislang habe ich das über die Suchfunktion von Excel gemacht. Dazu musste ich jede Sendungs-Nr., (wird auf jedem Briefumschlag per Barcode-Frankatur aufgedruckt), einzeln im Suchfenster eingeben und mit Enter bestätigen. Der entsprechende Eintrag wurde dann in der entsprechenden Spalte u. Zeile markiert (jede Sendungs-Nr. ist einzigartig u. wird nur einmal vergeben). Anschließend muss ich in der entsprechenden Zeile noch mehrere Zellen mit Werten ausfüllen.
Sollzustand:
Optimieren mit einem VBA-Code. Ich möchte die Rückläufer demnächst mit einem Barcode Scanner einlesen, dazu muss folgender Ablauf gewährleistet sein.
1.Ein Eingabefenster, welches auf allen 12 Arbeitsblättern erscheint, wo der Barcode eingelesen wird.
2.Dann soll in Spalte L die entsprechende Zelle ausgewählt werden (z:B. L5) (es muss aber in allen Arbeitsblättern (01-12) nach dem richtigen Eintrag gesucht werden. Ist dies geschehen soll sich das Eingabefenster (Barcodelesung) für den nächsten Vorgang (Rückläufer) wieder leeren.
3.Dann soll von der aktiven Zelle L5 (im richtigen Arbeitsblatt) nach T5 (selbe Arbeitsblatt) gesprungen werden
4.in den Zellen T5, U5 und V5 erfolgt händisch eine Eingabe
5.Sobald in T5 eine Eingabe erfolgt, soll in W5 das aktuelle (Heute) Datum erscheinen
6.Zelle X5 wird mittels Formel (Differenz zwischen W5 und C5) errechnet
Zusätzliche Bemerkungen:
Die Spalten A-J werden teilweise händisch oder per CSV-Datei gefüllt
Spalte K ist eine fortlaufende Nummer, wobei sich nur die letzte Ziffer (Prüfziffer) ändert. Diese Prüfziffer wird in den Spalten O-S berechnet. Die Spalten O und P werden dann in Spalte K zusammen mit einer bedingten Formatierung dargestellt.
Die Spalten bzw. Zellen L-N werden mit einer CSV-Datei von der Frankiermaschine befüllt.
Anschließend erfolgt noch eine Prüfung der beiden Spalten K und. L. siehe Beispiel
Ist die Zelle L10 identisch mit Zelle K10, so färbt sich K10 grün ein andernfalls bleibt Zelle K10 rot. Siehe Beispiel L11 K11
Für jegliche Info bzw. Verbesserungsvorschläge und Lösungen bin ich sehr dankbar, und sage allen schon mal Danke und großes Lob.