SOS ExcelSOS VorschauFAQ & Support            
Home
Programme
AutoRec
myMP3Hood
NetSessions
OLAutoPW
QuickOL
RemRuns
SOS
Weitere
Dienste
Impressum
Widerrufsrecht
Kontakt

SOS Excel Aktuell




Wussten Sie, dass Excel mit dem richtigen Tool auch ganze Rechenansätze wie

berechnen kann und Sie sich dafür kein kompliziertes Formelgebilde und Tabellenlayout ausdenken müssen, sondern diese Ansätze genau wie oben beschrieben in einer einzigen Zelle unterbringen können ?


Dieses Tool heisst SOSXL und diese Fähigkeit macht es vor allem für kleine bis mittlere Handwerksunternehmen interessant, die keine schwerfälligen und schwer zu erlernenden AVA und Kalkulationsprogramme einsetzen wollen, sondern diese Aufgaben gerne mit Excel erledigen möchten.


Es kann aber auch von all denen eingesetzt werden, die sich schon oft darüber geärgert haben, einen Rechenansatz mindestens 2 x in den Taschenrechner eingeben zu müssen, um ein geprüftes und sicheres Ergebnis zu erhalten - denn mit SOSXL ist der Taschenrechner Geschichte.


Das Tool wird als VBA Makro bereits seit Jahren von mir und meinen Kollegen in unserer Firma genau für diese Aufgaben eingesetzt und spart dabei richtig viel wertvolle Zeit und damit Geld.


Zur Veröffentlichung wurde es um einige sinnvolle Features erweitert und optisch durch diverse Dialoge und Einstellmöglichkeiten aufgemöbelt.

 

Systemvoraussetzungen

  • ab Win98
  • ab Excel 2000

 

Features

  • Ansatzberechnung, wobei die Rechenansätze, genauso wie Sie einen Ansatz in den Taschenrechner eingeben würden, in einer Zelle einzugeben sind.
  • Optimierte Ansatzeingabe für Klammerberechnungen
  • Positionsmanager zum Abspeichern und Einfügen von Positionen aus dem Leistungskatalog
  • Positionsnummerierung zur Durchnummerierung der zusammengestellten Positionen
  • Layoutmanager zum Anpassen des Tabellenlayouts
  • VBA Unterstützung für individuelle Benutzerfunktionen
  • Arbeitsgruppen Unterstützung, Update Funktion und Adminstrator-Einstellungen zur einfachen Administration der Excel Arbeitsgruppe
  • u.v.m

 


 


SOSXL Funktionen

Nach der SOSXL-Installation stehen im Menü

 und einer Symbolleiste

folgende Funktionen zur Verfügung


=Berechne()

Ist die Tabellenfunktion, die die Auswertung des Rechenansatzes übernimmt und kann beliebig oft in einer Tabelle eingefügt werden.

Für eine neue Berechnung wählen Sie dazu die Zelle, die das Ergebnis des Rechenansatzes enthalten soll, klicken Sie dann das Taschenrechnersymbol und wählen Sie die Zelle, die den Rechenansatz enthält. Für Rechenansatz wird nur eine Zelle akzeptiert.

Für nachfolgende Tabellenlayout-Funktionen (s. unten) hat es sich als vorteilhaft erwiesen, wenn Rechenansatz und die Tabellenfunktion =Berechne() in einer Zeile stehen – weiteres dazu unter Tabellenlayout.

Selbstverständlich können Sie Berechnungen auch in Mustervorlagen vordefinieren

und dann jeweils nur den entsprechenden Rechenansatz eingeben.

Ist anstatt ‚Ansatz’ ein auswertbarer Ausdruck eingegeben, werden in der Ergebniszelle und den Nachfolgern natürlich die Ergebnisse und nicht mehr ‚#WERT!’ angezeigt.

Wird trotz Ansatzeingabe ‚#WERT!’ angezeigt, kann das folgende Ursachen haben:

- Im Ansatz ein ungültiges Zeichen enthalten
- Die Klammersetzung ist fehlerhaft
-
Die Länge des gesamten Rechenansatzes ist länger als 253 Zeichen

Wurde von SOSXL die Eingabe einer neuen Berechnung oder die Änderung eines Rechenansatzes registriert, werden die Nachkommastellen des Rechenansatzes automatisch mit der eingestellten Nachkommastellen-Anzahl (s. Optionen) formatiert, wobei fehlende Nachkommastellen aufgefüllt, überzählige Nachkommastellen aber NICHT abgeschnitten werden. Zur besseren Lesbarkeit werden ausserdem zwischen den einzelnen Rechenoperationen Leerzeichen eingefügt.

Ein Rechenansatz, der von Ihnen so

2,*0,365*2,5

eingegeben wurde, sieht mit eingestellter AutoFormat-Nachkommastellen-Anzahl = 2 dann wie folgt aus

2,00 * 0,365 * 2,50

Im oben stehenden Beispiel also

Zur weiteren Eingabeoptimierung können Sie in den Optionen die Einstellung ‚ShiftLock bei Eingabe’ aktivieren, wobei jedes Mal, wenn die aktive Zelle ein Rechenansatz ist, die Feststelltaste aktiviert wird und somit einfache Klammereingabe möglich ist. Das macht natürlich nur Sinn, wenn man mit einer PC Tastatur arbeitet und die Zahleneingabe über den Nummernblock erfolgen kann. Beim Verlassen der Rechenansatz-Zelle wird ‚ShiftLock’ wieder deaktiviert.

Weiterhin wird bei Eingabe einer neuen Berechnung das Makro ‚NewCalculation’ und bei Änderung eines Rechenansatzes das Makro ‚CalculationChange’ im WrapperAddin aufgerufen, um weitere Formatierungen/Funktionen ausführen zu können.

Das WrapperAddin mit den Makros ist ein .xla-AddIn und somit kann jeder, der schon mal mit VBA zu tun hatte, die Makros entsprechend seinen Bedürfnissen anpassen.

In der Voreinstellung des Beispiels wird hierbei die Zeile des Rechenansatzes mit Schriftgrösse 9 formatiert und die Markierung springt dann auf die Zelle Kommentar, um dem Rechenansatz noch eine Beschreibung anzufügen – weiteres dazu unter SOSXL Administration.


Berechnungszeile einfügen

Da man bei Auswertung eines Aufmasses oder bei Erstellung eines Angebots selten mit einem Rechenansatz auskommt, lässt sich mit dieser Funktion einfach und komfortabel eine neue Berechnungszeile einfügen.

Dazu muss die aktive Zelle entweder ein Rechenansatz oder die Tabellenfunktion =Berechne() sein und SOSXL fügt dann eine Zeile unterhalb eine neue Berechnungszeile desselben Layouts ein, d.h. die Tabellenfunktion ist bereits in der neuen Berechnungszeile enthalten und in der Zelle des Rechenansatzes wird zur Fehlervermeidung ‚Ansatz’ eingefügt. Ausserdem springt die Markierung auf die Zelle des neuen Rechenansatzes, so dass ‚Ansatz’ sofort mit dem Aufmass überschrieben werden kann.

Die Formel des 1. Nachfolgers der Tabellenfunktionen =Berechne(), was ja in der Regel die Summierung aller Berechne-Funktionen einer Position ist, wird bei Bedarf erweitert, so dass Sie davon ausgehen können, dass auch wirklich alle Ergebnisse summiert sind.


Position einfügen

Mit dieser Funktion können Sie ein z.B. ein Angebot oder eine Rechnung aus den Positionen zusammenstellen, die Sie vorher mit ‚Position speichern’ (s. nächster Punkt) gesichert haben.

Der Button ‚Einfügen’ ist nur aktiviert, wenn die aktive Zelle eine Zelle in Spalte A ist.

Vor dem Einfügen können Sie sich die Position mit ‚Vorschau’ ansehen.

Die auswählbaren Kategorien und Positionen sowie das Recht eine Position zu Löschen können mittels Administrator-Einstellungen für jedes Mitglied einer Arbeitsgruppe individuell festgelegt werden – weiteres dazu unter SOSXL Administration


Position speichern

Warum den Kreis jedes Mal neu erfinden ?

Mit dieser Funktion können Sie Positionen komplett zur Wiederverwendung in einer Datei abspeichern um sie dann in andere Angebote / Rechnungen (s. letzten Punkt) einzufügen.

Spätestens bei der nächsten Lohn- oder Materialerhöhung werden Sie dankbar sein, wenn nicht unzählige Mustervorlagen überarbeitet werden müssen, sondern Sie die Einheitspreise 1 x in einer einzigen Datei überarbeiten und so aktualisiert dann weiterverwenden können.

Markieren Sie dazu den entsprechenden Bereich und klicken Sie dann auf das Diskettensymbol.

Der markierte Bereich wird automatisch auf den benutzten Bereich reduziert und dieser Dialog angezeigt.

Wählen Sie im Dropdown die Kategorie, der die zu speichernde Position zuzuordnen ist und geben Sie eine Positionsbeschreibung an.

Nach dem Klick auf ‚Speichern’ wird die Position in der LVPos.xla abgespeichert und steht nun in allen Tabellen zum Einfügen zur Verfügung, wobei auswertbare Rechenansätze im markierten Bereich durch ‚Ansatz’ ersetzt werden.

Wird der Button ‚Speichern’ trotz angegebener Kategorie und Position nicht aktiviert, sind ungültige Zeichen in den Eingaben enthalten. Ungültige Zeichen sind alle Zeichen, die nicht a-z, A-Z, 0-9 und Leerzeichen sind.

Sie können auch nur Textstellen ohne Rechenansatz und ohne die Tabellenfunktion =Berechne(), z.B. Vorbemerkungen, DIN Verweise o.ä., abspeichern, doch ist in der Markierung die Tabellenfunktion =Berechne() enhalten, muss auch die zugehörige Zelle des Rechenansatzes enthalten sein.

Die Möglichkeit, durch Eingabe eine neue Kategorie anlegen zu können, wird im Arbeitsgruppenbetrieb durch die Administrator-Einstellungen festgelegt – weiteres dazu unter SOSXL Administration


Positionen durchnummerieren

Wenn Sie mittels ‚Position einfügen’ eine neue Tabelle erstellt oder die Position in eine bestehende Tabelle eingefügt haben, gehören sich natürlich die Positionsnummern fortlaufend durchnummeriert.

Markieren Sie die entsprechenden Zeilen der Spalte A und klicken Sie dann auf die SOSXL Funktion ‚Positionen durchnummerieren’.

Damit enthaltener Text als Positionnummer erkannt wird, muss darin ein . enthalten sein.


Tabellenlayout anpassen

Über den Dialog ‚Tabellenlayout anpassen’ können Sie das Erscheinungsbild entsprechend Ihren Bedürfnissen, z.B. zum Ausdruck für den Kunden, ändern.

Sie können die Rechenansätze hier mit einer anderen Anzahl an Nachkommastellen als in AutoFormat festgelegt formatieren und die Rechenansätze aus- oder einblenden.

Beim Aus- oder Einblenden sollten der Rechenansatz und die Tabellenfunktion =Berechne deshalb in einer Zeile stehen.

Um gleiche Ansätze nicht mehrfach eingeben zu müssen, ist es ab und zu erforderlich, Bezug auf ein anderes Ergebnis zu nehmen, wobei die Möglichkeit des Aus- bzw. Einblendens aber trotzdem erhalten bleiben soll.

Wählen Sie dazu als Rechenansatz das Ergebnis der entsprechenden Position (in diesem Fall ist B54 die Summe aller =Berechne() Funktionen des Erdaushubs) und auch diese Berechnungszeile wird aus- bzw. eingeblendet werden.

 

Mit den Nachfolger – Makros können Sie weiteren Einfluss auf das Erscheinungsbild der Tabelle nehmen.

So können z.B. die Massen (Summe der =Berechne() Funktionen) und / oder die Einheitspreise unsichtbar gemacht werden. Grenzen setzen dabei nur Ihre Kenntnisse in VBA, denn wie bei den Berechne - Makros wird auch hier ein Makro aufgerufen, dass Sie Ihren Bedürfnissen entsprechen anpassen können - weiteres dazu unter SOSXL Administration

Ein Nachfolger – Makro können Sie mit dem Nachfolgerassistenten über die Taste ‚Neu’ definieren

Wählen Sie dazu mit dem Pfeil von Wrapperfunktion die entsprechende Tabellenfunktion (rot) aus.

Mit den nächsten Pfeiltasten springen Sie zu den Nachfolgern (gelb)  der Tabellenfunktion.

Möchten Sie also ein Makro erstellen, dass die Benutzermethode ‚LayoutMacro(...)’ im Wrapper – Add-in beim 1. Nachfolger ausführt, aktivieren Sie die Checkbox, geben Sie dem Makro einen Namen und speichern Sie dieses mit ‚Fertig’ ab

Für die Ausführung der Benutzermethode ‚LayoutMacro(...)’ z.B. beim 1. und 3. Nachfolger springen Sie mit den Pfeiltasten bis zum 3. Nachfolger, aktivieren auch hier die Checkbox und speichern das Makro ab.


Optionen

Auf der Registerkarte ‚SOS Excel’ legen Sie die Voreinstellungen für SOSXL fest

Unter Add-In und Funktion können Sie ein anderes Wrapper - Add-In bzw. einen anderen Namen der =Berechne() Tabellenfunktion wählen.

Von einer Änderung wird abgeraten, sollte diese trotzdem erforderlich sein (z.B. Ersatz eigener Tabellenfunktionen mit den SOSXL – Funktionen), muss das andere Wrapper - Add-In folgende Vorraussetzungen erfüllen.

  • Es muss eine Wrapper-Tabellenfunktion mit demselben Code wie im Original enthalten. Der Name der Wrapperfunktion muss mit dem unter ‚Funktion’ angegebenen Namen übereinstimmen
  • Es muss die Methoden ‚NewCalculation’, ‚CalculationChange’ und ‚ LayoutMacro’ mit denselben Parametern wie im Original enthalten

Unter ‚formatieren mit’ legen Sie die Anzahl der Nachkommastellen bei AutoFormatierung fest.

‚ShiftLock bei Eingabe’ aktiviert die Feststelltaste, wenn die aktive Zelle ein Rechenansatz ist und die Klammereingabe ist auf einer PC Tastatur einhändig möglich. Zur Ansatzeingabe muss dann natürlich der Nummernblock verwendet werden. Beim Verlassen der Rechenansatz-Zelle wird die Feststelltaste wieder deaktiviert.

Ist eine Option von ‚Deaktiviere autom. Formatierung’ aktiviert, werden die Rechenansätze nicht mit x-Nachkommastellen formatiert und auch keine Leerzeichen zwischen den Rechenoperationen eingefügt.

Ist eine Option von ‚Deaktiviere AutoFormat-Makros’ aktiviert, werden die Makros ‚NewCalculation’ und ‚CalculationChange’ nicht ausgeführt.

Unser Chef ist ein recht sparsamer Mensch und startet wenn er am Wochenende mal was arbeitet den Server nicht. Das hat zur Folge, dass Excel die Einstellung des ‚Standardarbeitsordners’, der sich auf einem Netzlaufwerk befindet, verwirft und ab da dann nur noch einen lokalen Pfad anbietet. Da die manuelle Rückstellung auf den Netz-Standardarbeitsordner ziemlich lästig ist, übernimmt die SOSXL Einstellung ‚Standardarbeitsordner’ diese Aufgabe.
Stimmen Excel-Standardarbeitsordner und SOSXL-Standardarbeitsordner nicht überein, wird die SOSXL Einstellung jedoch erst beim nächsten Start von Excel übernommen.

Ist die Einstellung ‚Genauigkeit wie angezeigt’ aktiviert, wird bei jedem Tabellenblatt auch die entsprechende Excel – Option aktiviert, wenn ein Tabellenblatt die Tabellenfunktion =Berechne() enthält.
 


SOSXL Administration

Arbeitsgruppen Modus

Durch die Mitgliedschaft eines Benutzer bei NetSOS erhält der Administrator verschiedene Möglichkeiten, den Wartungsaufwand für die Excel Arbeitsgruppe zu minimieren.

Nach der Auswahl eines Ordners sehen Sie im Updatefenster die Dateien, die automatisch upgedatet werden, wenn diese in NetSOS bereitgestellt und in NetSOS neuer als im lokalen Installationspfad sind.

Somit ist es ausreichend, wenn Sie bei einem SOSXL Update dieses auf einem Rechner installieren und die entsprechenden Programmdateien auf NetSOS bereitstellen.

Jedes NetSOS – Mitglied arbeitet damit automatisch beim nächsten Excel Neustart mit den neuen Programmdateien.

Auch bei Anpassung der div. Wrapper – Add-In Methoden an die eigenen Bedürfnisse ist nur das Wrapper – Add-In mit dem aktuellen Code auf NetSOS bereitzustellen, um allen NetSOS – Mitgliedern das Arbeiten mit dem neuen Code zu ermöglichen.

Ist in NetSOS eine SOSXL.ini (Beispiel finden Sie im SOSXL-Installationsordner) vorhanden, können Sie dort zusätzliche Dateien festlegen, die upgedatet werden sollen.

Mittels dieser SOSXL.ini können auch fast alle Einstellungen als Administrator-Einstellungen sowohl für alle Mitglieder als auch für ein einzelnes Mitglied festgelegt werden


Die einzelnen Parameter und Möglichkeiten sind in der SOSXL.ini im Installationsordner beschrieben, die Sie nur nach NetSOS kopieren und entsprechend anpassen müssen.


Die Mitgliedschaft bei NetSOS wirkt sich auch auf die Funktionen ‚Position speichern’ und ‚Position einfügen’ aus.

Abzuspeichernde Positionen werden dann nämlich in der NetSOS-LVPos.xla gespeichert. Greift nun ein Benutzer auf Positions-Funktionen zu, wird die lokale LVPos.xla mit der neueren NetSOS-LVPos.xla synchronisiert und der Benutzer hat auch im Offline-Betrieb, wenn also NetSOS nicht verfügbar ist, immer den neuesten Stand lokal auf seinem Rechner.
Positionen im Offline-Betrieb abzuspeichern ist nicht möglich.

Zusätzlich kann der Administrator mit den Administrator-Einstellungen der SOSXL.ini die Rechte zum Erstellen von Kategorien, Abspeichern und Löschen von Positionen und die verfügbaren Kategorien und Positionen zum Einfügen für jeden Benutzer separat festlegen – weiteres in SOSXL.ini im Installationsordner.


Benutzer – Makros/Anpassung

Wenn Sie über VBA Kenntnisse verfügen sind die Einsatzmöglichkeiten von SOSXL quasi unbegrenzt, da in den relevanten SOSXL Funktionen Makroaufrufe integriert sind, deren Code den eigenen Bedürfnissen entsprechend angepasst werden kann.

Diese 3 Makros / Methoden müssen im, in den Optionen eingestellten, Wrapper – Add-In enthalten sein.

  • Public Sub NewCalculation(ByVal oMeasurement As Range, ByVal oCalculate As Range)

    oMeasurement: Zelle des Rechenansatzes
    oCalculate: Zelle der Tabellenfunktion =Berechne()

    Wird ausgeführt, wenn eine neue Berechnung registriert wird (also zum Beispiel beim Betätigen des Taschenrechnersymbols)
  • Public Sub CalculationChange(ByVal oMeasurement As Range, ByVal oCalculate As Range)

    oMeasurement: Zelle des Rechenansatzes
    oCalculate: Zelle der Tabellenfunktion =Berechne()

    Wird ausgeführt, wenn eine Änderung in einem Rechenansatz registriert wird
  • Public Sub LayoutMacro(ByVal oCalculateDependent As Range, ByVal MacroName As String, ByVal DependentIndex As Long)

    oCalculateDependent: Zelle des =Berechne() - Nachfolgers
    MacroName: Name des im Layoutfenster gewählten Makros
    DependentIndex: Index des =Berechne() – Nachfolgers (z.B. 5. Nachfolger)
     
    Wird für jede Zelle einer Tabelle ausgeführt, die bei Betätigung der ‚Anwenden’ Taste im Layoutfenster dem Nachfolgerindex des eingestellten Makros entspricht (s. auch Tabellenlayout anpassen)

Beispiele dazu finden Sie im voreingestellten Wrapper – Add-In SOSXL.xla

Sollten Sie keine Erfahrung mit VBA Programmierung haben aber trotzdem eine Benutzeranpassung der Makros benötigen kann ich das gerne in Auftragsprogrammierung für Sie übernehmen


Da man häufig doch nicht ohne Standards auskommt, ist bei genügend Interesse die Implementierung einer GAEB - Schnittstelle zum Einlesen von DA83 Leistungsverzeichnissen und Ausgeben von DA84 Angeboten geplant

 


Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt und wünsche nun viel Spass (soweit man beim Arbeiten eben Spass haben kann) und viel Erfolg mit SOSXL