In this article
Benutzerdefinierte Excelfunktionen erlauben, auf einfachste Weise in Echtzeit (real-time) Werte aus Banana Buchhaltung zu übernehmen. Sie aktualisieren Ihre Buchhaltung und die Daten Ihrer Exceldatei werden sofort aktualisiert. Leider ist dies mit Mac NICHT möglich!
Bitte beachten Sie die englische Webseite für die aktuellsten technischen Informationen
Beispiel Kosten auf Mieteigentümer oder Kunden aufgeteilt
Mit der Funktion ExcelSync werden Formeln verwendet, welche die aktualisierten Salden direkt aus Banana Buchhaltung übernehmen.
Die Excel-Tabelle wird gemäss den letzten, in die Buchhaltung registrierten Daten, aktualisiert.
Benutzerdefinierte Excelfunktionen
Benutzerdefinierte Funktionen (UDF - user-defined functions) sind kleine Visual-Basic-Programme (oder Makros) die Excel erweitern und ermöglichen, in den Zellen Formeln einzufügen.
- Um benutzerdefinierte Funktionen (UDF) verwenden zu können, wird eine Exceldatei mit *.xlsm-Erweiterung benötigt.
- Die benutzerdefinierten Bananafunktionen (Banana-UDF) werden laut der Apache-Lizenz (Open-Source-Software. Siehe: /www.apache.org/licenses/LICENSE-2.0 zur Verfügung gestellt.
- Entwicklung und aktuellste Version der Funktion sind unter github.com/BananaAccounting/General/ verfügbar
- UDF benutzen den Banana-Webserver (Webseite in englischer Sprache).
Dank den benutzerdefinierten Funktionen (UDF) werden Sie in Excel Formeln schreiben und bestimmte Daten direkt aus Banana Buchhaltung übernehmen können.
- Es ist somit nicht mehr Notwendigkeit, Daten in Excel erneut zu tippen, zu importieren oder mit Copy&Paste einzufügen.
- Wird die Buchhaltung geändert, wird das Excel-Spreadsheet mit den neuen Werten gefüllt.
- Bedienungsfreundliche Formeln, mit denen Werte für Zeiträume berechnet und mächtige Tabellenkalkulationen zur Bewertung und Präsentation von Buchhaltungsdaten oder Grafiken erstellt werden können.
Beispiel ansehen
- Excel-Spreadsheet mit Beispielsdateien herunterladen.
- Inhalt entpacken.
- Banana Buchhaltung starten.
- Das erste Mal Webserver aktivieren.
Menü Werkzeuge, Basiseinstellungen die Option 'Webserver starten' aktivieren. - Banana-Dateien 'company_2014.ac2' und 'company_2015.ac2' öffnen.
- Datei 'BananaSync.xlsm' öffnen und das Makro aktivieren.
Falls das Makro automatisch von Excel deaktiviert wird, sind Ihre Makro-Sicherheitseinstellungen zu ändern (Anleitung in englischer Sprache). Eventuell diese Anleitung in englischer Sprache befolgen, um die Entwicklerregisterkarte in der Funktionsleiste anzuzeigen. - Mit Makro 'RecalculateAll' (ctrl+r) Excel-Spreadsheet neu berechnen.
Ihr eigenes Spreadsheet erstellen
- Die Datei 'BananaSync.xlsm' unter einem anderen Namen speichern.
- Ihre Banana Buchhaltungsdatei öffnen.
- Im Spreadsheet den Namen (yallow) mit dem Namen Ihrer Buchhaltungsdatei ersetzen.
- Spreadsheet Ihren Bedürfnissen entsprechend ändern.
- Spreadsheet durch Klicken auf das Symbol 'Neu berechnen' der Werkzeugleiste oder durch Betätigung der Tastenkombination "Ctrl+R" neu berechnen.
Funktionen anwenden
Argument Dateiname
Wird Banana oder der Banana-Webserver nicht ausgeführt, braucht Excel etwas Zeit, um auf http-Anfragen zu antworten.
Um dieses Problem zu umgehen:
- Die meisten Funktionen benutzen den Argument-Dateinamen.
Bei leerem Dateinamen erfolgt keine http-Anfrage. - Anstatt den Dateinamen zu übernehmen, eine Referenz zu einer Zelle mit einer Formel (z.B. =BFileName(“myfile.ac2”) verwenden.
- 'BFileName' sendet eine leere Zeichenfolge, wenn Banana nicht gestartet wurde. In diesem Fall erfolgt keine erneute Anfrage.
Argument Periode
Viele Funktionen benutzen die Option Argument Periode. Dies kann sein:
- Eine leere Zeichenkette. Anfangs- und Enddatum der Buchführung werden benutzt.
- Ein Anfangs- und Enddatum in Form von yyyy-mm-dd/yyyy-mm-dd (z.B. “2015-01-01/2015-01-31”)
Um einen Zeitraum von zwei Exceldaten zu erstellen, die Funktion BCreatePeriod verwenden. - Eine Abkürzung (M1, M2, Q1, Q2, Y1), die Monat, Quartal oder Jahr der Buchführung angibt.
Die Funktion BCreatePeriod kann verwendet werden, um aus zwei Zelldaten eine Periodenzeichenkette zu erstellen.
Beschreibung der Funktionen
- BAccountDescription(account[, column])
Die Kontobeschreibung des angegebenen Kontos oder der angegebenen Gruppe aufrufen.
Mit Argument 'column' kann anstelle der Beschreibung eine andere Spalte für den Abruf angegeben werden.
Beispiele:
=BAccountDescription('1000')
=BAccountDescription('1000', 'Gr1')
=BAccountDescription('Gr=10')
=BAccountDescription('1000', 'FiscalNumber') - BAmount(fileName, account, [,period ])
Den normalisierten auf der 'BKlasse' basierenden Betrag aufrufen. - BBalance(fileName account [, period])
Für das angegebene Konto den Saldo per Ende der Periode aufrufen.
Das Ergebnis 'BBalance' ist die Summe von BOpening + BTotal.
Dient zum Aufrufen von Kontendaten für die Bilanz (Aktiva, Passiva).- Das Konto kann eine Kontonummer oder eine Zeichenkette mit mehreren durch das Schriftzeichen '|' getrennten Konten sein.
Es können normale Konten, Kostenstellen oder Segmente angeben werden.
- Es können auch Wildcards (Platzhalter) und 'Gr=' gefolgt von der Buchhaltungsgruppe verwendet werden.
Weitere Informationen finden Sie unter Javascript, Beschreibung Funktion für 'currentBalance'. - Beispiele:
“1000” “1000|1001” “10*|20*” “Gr=10” “Gr=10|Gr=20” “Gr=1*”
".P1" ";C01|,C02",":S1|:S2"
"1000:S1"
- Das Konto kann eine Kontonummer oder eine Zeichenkette mit mehreren durch das Schriftzeichen '|' getrennten Konten sein.
- BBalanceGet(fileName, account, cmd, valueName [,period ])
Mit dieser Funktion kann einfach auf alle übrigen von REST API zur Verfügung gestellten Daten wie 'Saldo' und 'Budget'' zugegriffen werden.
Beispiele:
=BAmount( FName, “1000”, “balance”, “currencyamount”)
=BAmount( FName, “1000”, “balance”, “count”)
=BAmount( FName, “1000”, “balance”, “debit”)
=BAmount( FName, “1000”, “budget”, “debit”) - BBudgetAmount(fileName account [, period])
Gleich wie 'BAmount', jedoch Budgetdaten anstelle der Buchhaltungsdaten verwenden. - BBudgetBalance(fileName account [, period])
Gleich wie 'BBalance', jedoch Budgetdaten anstelle der Buchhaltungsdaten verwenden. - BBudgetInterest(filename, account, interestRate [, period])
Gleich wie 'BInterest', jedoch Budgetdaten anstelle der Buchhaltungsdaten verwenden. - BBudgetOpening(fileName account [, period])
Gleich wie 'BOpening', jedoch Budgetdaten anstelle der Buchhaltungsdaten verwenden. - BBudgetTotal(fileName account [, period])
Gleich wie 'BTotal', jedoch Budgetdaten anstelle der Buchhaltungsdaten verwenden. - BCellValue(fileName, table, rowColumn, column)
Inhalt der Tabellenzelle aufrufen.
Beispiele:
=BCellValue(FName, “Accounts”, 2, “Description”)
=BCellValue(FName, “Accounts”, “Account=1000”, “Description”)
=BCellValue(FName, “Accounts”, “Group=10”, “Description”) - BCreatePeriod( startDate, endDate)
Zwei Zellendaten nehmen und eine Periodenzeichenkette erstellen.
=BCreatePeriod(D4, D5) - BDate(isoDate)
ISO-Datum in Excel-Datum umwandeln. - BFileName(fileName [, disable connection])
Den Dateinamen oder falls keine Verbingung zum Webserver besteht oder die Datei nicht stimmt einen leere Zeichenfolge zurücksenden.
Ist der Wert von 'disableConnection' nicht 'void', sendet die Funktion eine leere Zeichenfolge zurück.
Die Zellen die das Resultat dieser Funktion enthalten als Dateinamenparameter für die Anrwendung anderer Funktionen benutzen.Ist Banana nicht offen, wird nur ein Anruf gemacht und Excel wartet nicht für eine lange Zeit. - BFunctionsVersion()
Die Version der Funktion im Datumsformat zurücksenden. - BInfo(fileName, sectionXml, idXml)
Informationen betreffend Dateieigenschaften abrufen.
Beispiele:
=BInfo( FName, “Base”, “HeaderLeft”)
=BInfo( FName, “Base”, “DateLastSaved”)
=BInfo( FName, “AccountingDataBase”, “OpeningDate”)
=BInfo( FName, “AccountingDataBase”, “BasicCurrency”)
- BInterest(filename, account, interestRate [, period])
Den Zins für dieses Konto für die definierte Zeitspanne berechnen.- 'Account' kann jedes Konto wie in 'BBalance' angegeben sein.
- 'InterestRate' in Prozent.
- > 0 Zinsen auf Sollbeträgen berechnen
- < 0 Zinsen auf Habenbeträgen berechnen
- BOpening(filename, account [period])
Saldo für Saldo zu Beginn der Periode für angegebenes Konto abrufen. - BQuery(fileName, query)
Das Ergebnis einer frei definierten Abfrage zurücksenden.
Beispiele:
=BQuery(FName;"startperiod?M1”)
=BQuery(FName;"startperiod?M1”) - BTotal(filename, account [,period])
Bewegungen für die Periode abrufen.
Sollte verwendet werden, um die Daten für die Erfolgsrechnungskonten (Aufwand und Ertrag) abzurufen. - BVatBalance(filename, vatCode, vatValue [, period])
Die den angegebenen MwSt/USt-Code (oder mehrere angegebene MwSt/USt-Codes) betreffenden Wert zurücksenden.
'vatValue' kann 'taxable', 'amount', 'notdeductible' oder 'posted' sein.
Beispiele:
=BVatBalance( FName, “V10”, “taxable”)
=BVatBalance( FName, “V10|V20”, “posted”)
Neu berechnen
Die automatische Neuberechnung aktualisiert die aus der Buchhaltungsdatei stammenden Daten nicht.
Für aktualisierte Daten ist das Makro RecalculateAll() aufzurufen, welches die Application.CalculateFullRebuild-Methode aufruft.
Die Musterdateien enthalten eine Schaltfläche 'Recalculate', welche das Makro RecalculateAll aufruft.
Hostname und Portnummer von Banana
Web-Server-Daten werden von 'localhost:8081' abgerufen.
Es kann ein anderer Host angegeben werden, indem ein anderer Wert in die Zelle mit Namen 'BananaHostName' eingegeben wird.
Funktionen ändern oder eigene hinzufügen
Funktionen sind im Visual-Basis-Modul 'Banana' definiert.
Wir können dieses Modul aktualisieren und neue Funktionen hinzufügen.
Eigene Funktionen sind vorzugsweise in Ihrem Modul hinzuzufügen.
Für den Zugriff zum Visual-Basis-Makro 'Funktionen' ist das Makro zu aktivieren.
Um die Funktionen anzuzeigen und zu bearbeiten, muss man die Entwicklerregisterkarte in der Excel-Multifunktionsleiste anzeigen (Anleitung hierzu in englischer Sprache).
Versionsgeschichte
- 2014-07-24 erste Veröffentlichung
- 2015-02-28 Aktualisierung für neue Versionen mit neuen Funktionen
- 2015-05-12 Aufruf zum Webserver erfordert v1
- 2015-05-12 Entwickung auf GitHub verschoben
- 2015-05-25 Geänderte BAmoount-Funktion für die Verwendung von BClass
- 2015-10-04 BDate-Funktion hinzugefügt