Excel, Felder aus externen Preislisten ausfüllen, mit Beispiel

Laszarot

Cadet 2nd Year
Registriert
Apr. 2014
Beiträge
20
Hallo, bin neu hier und habe einige Aufgaben die ich mit Excel in Zukunft gerne automatisieren möchte. Wir erstellen mit Excel unsere Angebote und dazu nehmen wir oft Artikel aus Preislisten unserer Lieferanten (alle in separaten Excel-Dateien, manchmal auch PDF und Co) und Copy-Pasten Lieferant, Artikelnummer, Bezeichnung und Preis in die einzelnen Felder.

Ich habe mir jetzt vorgenommen, diesen Prozess so weit zu vereinfachen, wie nur irgendwie möglich. Das stellt mich vor einige Herausforderungen bei denen ihr mir hoffentlich helfen könnt.

Meine erste Herausforderung ist folgende:
Ich möchte, dass wir in Zukunft Excel nur noch den Lieferanten (bestimmt die zu verwendende Preisliste), Catalog no. (bestimmt aus welcher Zeile die Daten geholt werden) und Artikelnummer nennen müssen und das Programm den Rest der Daten selbst aus den Preislisten kopiert.

Ich habe auch schon einen Weg gefunden um das ganze mit einer überschaubaren Menge an Händlern zum Laufen zu bekommen. (Im Beispiel/Angebot/Zeile 4 und die Preisliste dazu ist unter Beispiel/Preislisten/Preisliste B)

Die Herausforderung ist einen Weg zu finden, mit dem man die Funktion auf zusätzliche Lieferanten auszudehnen, ohne die Formeln bei jedem weiteren Lieferanten um einen Haufen WENN und SVERWEISE zu verkomplizieren, verlängern und unübersichtlicher zu machen.

Meine Idee wäre, die richtige Formeln in einem extra Tabellenblatt zu speichern. Dort hätte man dann für jeden Händler jeweils eine Formel für die Artikelbeschreibung, den Artikelpreis, eine für die Währung und eine für zusätzliche Bemerkungen.

Wenn in Spalte B dann der Händler A steht, dann soll sich Excel die Formeln für den Händler A aus dem Tabellenblatt für Formeln holen und nutzen um die einzelnen Felder zu füllen.

Ich glaube die Sache klingt beim Beschreiben komplizierter als sie in Wahrheit ist, aber mein Beispiel (Beispiel/Angebot/Zeile 4) sollte es eigentlich ganz gut demonstrieren.

Momentan funktioniert es nur für einen Händler. Ich kann es auch mit meinem momentanen Wissen sicher noch um 1-10 Lieferanten erweitern, falls Excel bei seinen Formeln und Feldern keine Zeichenbegrenzung hat, aber ab einem gewissen Punkt (50 Preislisten oder mehr) wird die Sache einfach unüberschaubar. Außerdem wird es dann schwer neue Lieferanten hinzuzufügen, alte zu verändern oder zu entfernen.

Und das könnte man meiner Meinung nach am besten mit dem Outsourcen und aufteilen der Formeln auf ein extra Blatt und in einzelne Module verbessern.

Wie lautet eure Meinung dazu, gibt es eine Möglichkeit so wie ich mir das vorstelle, gibt es einfache/bessere Alternativen, oder braucht ihr zusätzliche Infos, schreibt mir bitte einfach was ihr dazu zu sagen habt.
 

Anhänge

  • Beispiel.zip
    56,1 KB · Aufrufe: 384
Zuletzt bearbeitet: (Anhang)
ich würde pauschal eine gesamtpreisliste aller lieferanten (als xls) erstellen und diese pflegen.
vereinfacht das ganze excelgedöns ungemein gerade wenn du preislisten im pdf format hast.
den rest kannst du dann per sverweis machen link
 
Wenn das Projekt noch am Anfang ist, ist es jetzt an der Zeit, konzeptionelle Fehler zu vermeiden.
 
Excel eignet sich gut als Frontend, z.B. wenn man einen OLAP-Würfel dahinter hat, aber nicht als Datenbank und schon gar nicht wenn irgendwann ETL eine Rolle spielen soll und/oder mit einiger Sicherheit mal wird. Das Problem an Excel, sind die aus meiner Sicht zu großen Freiheiten die der Anwender hat. Mit den Erweiterungen und Änderungen der Zukunft entwickelt sich das Excelprojekt schnell zur Excelhölle und später zur Excelruine und da hat miac sinngemäß mit "Wehret den Anfängen" schon Recht. Also: Datenbank oder ein hübsches kleines ERP das hat auch noch andere interessante Module.
erp.jpg
 
Um ehrlich zu sein, denke ich, dass das auch in Excel gut lösbar ist. Mir schwebt da eine Makrolösung vor.
Ich würde wie folgt anfangen: schau dir alle deine Lieferanten an, und die Preislisten die ihr bekommt. Dann schau dir deine Angebotsdatei an, und schau, welche Daten du brauchst (In deinem Beispiel Katalognummer, Beschreibung, Zusatz, Preis 1, Menge 1, Preis 2, Menge 2 etc.. daraus kannst du dann sozusagen eine Masterpreisliste erstellen, quasi eine Vorlage. Diese Vorlage kopierst du jeweils einmal für jeden Lieferanten und trägst dort die jeweiligen angaben in die jeweiligen felder. dann machst du einen Ordner, in dem am ende von allen lieferanten preislisten liegen, die alle den gleichen aufbau haben. Darauf kannst du dann bequem per Makro zugreifen, und dir deine Daten in deine Angebotsdatei liefern lassen. Speicherpfadprobleme kann man umgehen, wenn man von vorneherein alle Dateien jeweils immer im gleichen Ordner belässt.
 
Ist doch Gebastel. Eine vernünftige Datenbank hat ein vernünftiges Datenbankmodell und Sperrmechanismen zum gleichzeitigen Zugriff.
Außerdem kann man Tabellen einfacher hinzufügen, falls man erweitern möchte (z.B. Stammdaten der Lieferanten, Zahlungsbedingungen...).

Excel kann man zu Auswertungszwecken ja immer noch verwenden.
 
Ist überhaupt kein Gebastel. Ich bin mir sicher dass meine Lösung mindestens genauso, wenn nicht noch einfacher zu gestalten, pflegen und nutzen ist als eine Datenbank.
 
sehe ich wie ConVuzius. kann man alles über excel abfackeln. ich persönlich finde DB lösungen auch um eingiges besser/schöner, aber ich kenn mich mit Datenbanken auch einigermaßen aus. wenn es hier "nur" bürokräfte gibt macht eine DB die einen extra IT-Dienstleister benötigt keinen sinn.
wenn man den excel weg nimmt (egal ob mit verweis oder makro) sollte man sich bewusst sein, dass excel (im gegensatz zu ner DB) nicht für solche abfragen optimiert ist und es bei sehr großen oder aufwändigen abfragen schon "lange" dauern kann.
hab hier ein excel das aus einer DB importiert welches bei der aktualisierung der daten auf meinem älteren dualcore ca ne halbe minute bis minute benötigt und auf dem quadcore nur 10 sekunden. gut die berechnungen im excel sind nicht gerade optimiert aber wann sind die das schon^^
 
Erstmal vielen Dank für eure schnellen und konstruktiven Antworten.

Ich beschreibe mal die IST-Situation etwas genauer.

Das Unternehmen arbeitet schon seit Jahren mit Excel, ich bin relativ neu im Unternehmen, habe die Methode genutzt und relativ schnell bemerkt, dass man mit ein paar Veränderungen an der Angebotsvorlage viel Zeit sparen und viele Fehler vermeiden kann.

Ich will meinen Kollegen nicht zu viel Veränderung auf einmal zumuten, aber wenn die Lösung mit der Datenbank für sie kein neues Programm, keine große Veränderung bedeutet, dann wäre ich schon bereit es zu testen. Da kommt halt dann die Frage der Kosten auf, und wie schwer es für mich ist den Umgang mit Datenbanken zu erlernen (habe zwar mal Access offen gehabt, aber viel mehr auch nicht).

Die Preislisten in einer einzigen "Master-Preisliste" zusammen zu fassen, ist ein Gedanke den ich auch schon hatte. Da ist die Frage, ob Excel damit noch klar kommt. Die Dimensionen sind etwa 50 Preislisten mit jeweils 1.000-5.000 Produkten, also schon eine Menge für Excel, soviel kann ich auch sagen.

Die Preislisten alle ins gleiche Format zu bringen und am selben Ort zu speichern klingt für mich am einfachsten. Dann muss ich nur noch eine Möglichkeit finden Excel die Daten aus den jeweiligen Mappen auszulesen.

Eine meiner Herausforderungen bei der Sache ist es, das Unternehmen sanft zu verändern. Je mehr Gewalt dabei ist, desto höher ist die Chance, dass diese und zukünftige Veränderungen nicht gut akzeptiert werden. Deshalb will ich, dass die Nutzer möglichst wenig neues machen müssen, sondern nur unnötiges in Zukunft weglassen können. Deshalb sollte bei der Lösung für sie Excel weiterhin als Anwendung verwendet werden, auch wenn im Hintergrund eine Datenbank arbeitet.

Bei Lösungen mit externen Datenbanken wäre es für mich auch interessant, welche Kosten in etwa auf mich zukommen würden. Vor allem wenn ich die Kosten aufbringen muss bevor ich das fertige Produkt demonstrieren kann. Wie gesagt, ich habe in dem Bereich keine Erfahrung, auch wenn ich eine schnelle Auffassungsgabe besitze und möchte dem Unternehmen nur ungern Kosten verursachen bevor ich Ergebnisse demonstrieren kann, vor allem wenn das Scheitern aufgrund von Unerfahrenheit nicht ausgeschlossen werden kann.
 
bei 50000 bis 250000 artikeln in einer liste kommt es höchstwahrscheinlich zu den angesprochenen zeitproblemen. excel (zumindest in der aktuellen version) schafft bis 1000000 zeilen.
bei so einem umfang hätte eine DB im Hintergrund bzw. ne AccessDB schon ihren charme. hier ne kurze info zu excel + access link
wenn ihr schon access im unternehmen habt kommen da auch keine zusatzkosten auf dich zu und nur die kollegen die die preisliste pflegen müssen bissl was neues machen wobei man das schön über masken machen kann.

bei excel würd ich des fast eher immer noch in einer master liste machen aber die einzelnen hersteller auf nem extra blatt. weil ein externer call meistens besser als 50 externe calls.
 
@ schumischumi:

Ok danke, ich werde mich mal mit Access beschäftigen und eine Lösung mit deiner Empfehlung probieren.

@ alle anderen:

Vielen Dank für eure Meinungen, Kritiken und Empfehlungen, ihr habt mir sehr geholfen.
 
@Laszarot: Sei so gut, wenn du Zeit findest, ein Feedback zu geben wie du dein Problem entsprechend gelöst hast, oder lösen wirst. Das hilf vielleicht auch anderen.
 
@ ConVuzius: Werde ich machen, rechne nur nicht so schnell damit, ich muss noch Access lernen.
 
@cruse: wenn du das in mehrere exceldateien aufteilsen würdest (also die blätter) würde es m.M.n schneller laufen. Achja, und ich dachte die Excelmanie in meiner Firma wäre schlimm. :O
 
Zurück
Oben