Abstract

Diese Anwendung ist ein einfaches Beispiel für einen Umsatzbericht, welches meine bevorzugten Programmelemente verwendet.

Eingabe:

Pic_Staff_Sales_Share_Input_DE

Ausgabe:

So erkennen Sie Ihre wichtigsten Kunden und Mitarbeiter auf einen Blick (siehe grüner Hintergrund):

  • Mit den Kunden GHI GmbH & Co KG und DEF AG erzielen Sie mehr als 50% Ihres Gesamtumsatzes.
  • Ihre Mitarbeiter MA2 und MA1 generieren mehr als 50% Ihres Gesamtumsatzes.

Pic_Staff_Sales_Share_Output_DE

  • Das Ziel war ein einfacher, nachvollziehbarer Berichtsprozess: Welche Mitarbeiter hatten welche Umsatzanteile für welchen Mandanten, und wer hat wann welchen Umsatzbericht mit welchem Ergebnis erstellt.
  • Die Scripting Dictionaries oMA, oMASumme, oMandant, oMandantSumme und oSumme ermöglichen die einfache Einsammlung, Speicherung und Ausgabe von allen numerischen und nicht-numerischen Daten mit nicht-numerischen Suchbegriffen.
  • Die Ausgabedaten werden sowohl im Tabellenblatt Output als auch im Unterverzeichnis Reports ausgegeben und durch die Subroutine sbZip zusätzlich in ein Jahresarchiv gezippt.
  • Die Funktion RoundToSum stellt die fehlerfreie Rundung der Mitarbeiteranteile sicher.
  • Die Enumerierung Eingabespalten ermöglicht eine nachvollziehbare Adressierung und einfache spätere Änderung der Eingabespalten.
  • Das Modul LoggerFactory und das Klassenmodul Logger zeigen, wer welchen Umsatzbericht wann mit welchem Ergebnis erstellt hat. Siehe Tabellenblatt Workflow und Unterverzeichnis Logs.
  • Das Klassenmodul SystemState stellt die gewünschten Umgebungsparameter für die Anwendung ein.
  • Die Anwendung adressiert die Tabellenblätter direkt mit VBA internen Codenamen (wsI, wsO, wsW).
  • Fehlerhafte Eingaben und inkonsistente Ausgabesummen werden farblich (in gelb) markiert und in den Logs protokolliert.
  • Das Modul (externer Link!) LibFileTools stellt sicher, dass diese Anwendung auch unter Sharepoint / OneDrive läuft.
  • Das Modul (externer Link!) TimeZone bietet die Umrechnungen von Zeitzonen - Voraussetzung ist ein ordnungsgemäß installiertes MS Outlook.
  • Die Module (externe Links!) modPerf und modTimer und das Klassenmodul clsPerf ermöglichen die Messung der Laufzeiten von Subroutinen und Funktionen - dafür muss die Precompilerkonstante MEASURE_RUNTIME = True gesetzt werden.
  • Falls eine andere Anwendung, die Eingabedaten (z. B. Umsätze pro Mandant, Zeiterfassungen der Mitarbeiter multipliziert mit deren Seniorität als Gewichte) als Datei bereitstellen kann, sollte diese Anwendung um ein Unterverzeichnis Eingabedateien mit Jahresunterordner (analog der existierenden Ausgabestruktur) erweitert werden.
  • Eine detaillierte Dokumentation dieser Anwendung ist mit dem BPM System Adonis einfach möglich.

Download

Bitte den Haftungsausschluss im Impressum beachten.

Mitarbeiter_Umsatzanteile.xlsm [314 KB Excel Datei, ohne jegliche Gewährleistung]