Funzioni Excel VBA (outdated)

Documentazione •
In questo articolo


Alcune funzioni Excel definite dall'utente permettono di recuperare facilmente dati da Banana Contabilità in tempo reale.
Tu aggiorni la tua contabilità e immediatamente viene aggiornato anche il tuo file Excel. Questa funzione non è possibile su Mac.

Queste Funzioni Excel usano il linguaggio VBA, è una tecnologia che Microsoft non consiglia più di utilizzare.

Si prega di consultare la pagina in inglese per informazioni tecniche più aggiornate.

Esempio costi divisi per cliente

Con ExcelSync si usano delle formule che riprendono i saldi aggiornati direttamente dal software Banana Contabilità.
Il foglio di Excel si aggiorna in base agli ultimi dati inseririti in contabilità.
 

Funzioni Excel definite dall'utente

Le funzioni definite dall'utente (UDF = User defined funtions) sono piccoli programmi in Visual Basic (o macro) che espandono Excel, permettendo l'inserimento di formule all'interno delle celle.


Grazie alle UDF potrai scrivere formule in Excel che riprendano dati direttamente da Banana Contabilità.

  • Non c'é più bisogno di riscrivere i dati in Excel (o importare, copiare e incollare)
  • Quando la contabilità viene cambiata, il foglio Excel é aggiornato con i nuovi valori
  • Le formule sono facili da usare e permettono di calcolare valori per periodo e creare tabelle efficaci per valutare, presentare i dati o creare grafici.

 

Come vedere l'esempio

  1. Scarica il foglio Excel con i files di esempio
  2. Decomprimi (Unzip) il contenuto
  3. Avviare Banana contabilità.
  4. La prima volta attiva il Webserver di Banana
    Strumenti -> Opzioni programma -> Interfaccia -> Avvia web server
  5. Apri il file contabile Banana "company_2014.ac2" e "company_2015.ac2"
  6. Apri il file "BananaSync.xlsm" in Excel e attiva le Macro.
    Se le macro sono disabilitate automaticamente da Excel devi cambiare le impostazioni di sicurezza delle macro.
    Eventualmente segui le istruzioni Mostra scheda Sviluppo sulla barra multifunzione
  7. Ricalcola il foglio Excel con la Macro "Recalculate" (Ctrl+R)

 

Come creare il tuo foglio

  • Salva il file "BananaSync.xlsm" con un altro nome
  • Apri i tuoi files contabili in Banana
  • Nel file Excel cambia il nome del file (celle evidenziate in giallo) con il nome del tuo file contabile.
  • Cambia il foglio di calcolo secondo le tue necessità.
  • Ricalcola con il bottone "Recalculate" o con i tasti di scelta rapida "Ctrl+R"

 

Uso delle funzioni

Parametro nome file

Se il programma Banana o il Banana web server non sono aperti, Excel impiega del tempo per rispondere alla query http.

Per risolvere questo problema:

  • La maggior parte delle funzioni usano il parametro nome file
    Se il nome del file é vuoto non c'é alcuna chiamata http.
  • Invece che inserire il nome del file usare un riferimento alla cella che contenga la formula =BFileName(“myfile.ac2”).
  • Nel caso in cui Banana non sia avviato, il  BFileName risulterà in una string vuota, e nessuna query successiva verrà avviata.


Parametro periodo

Molte funzioni usano il parametro facoltativo periodo. Questo può essere:

  • Una string vuota. Vengono usate le date iniziali e finali della contabilità.
  • Una data iniziale e una data finale nel formato yyyy-mm-dd/yyyy-mm-dd
    esempio “2015-01-01/2015-01-31”
    Per creare un periodo tra due date Excel usa la funzione BCreatePeriod.
  • Un'abbreviazione (M1, M2, Q1, Q2, Y1) che indica il mese, il trimestre o l'anno della contabilità.

Puoi usare la funzione BCreatePeriod per cerare una string di periodo basata sulla data di due celle.

Descrizione delle funzioni

  • BAccountDescription(account[, column])
    Riprende la descrizione del conto o del gruppo specificato.
    Con il parametro column puoi indicare di riprendere un'altra colonna invece che la colonna Descrizione.
    Esempi:
    =BAccountDescription('1000')
    =BAccountDescription('1000', 'Gr1')
    =BAccountDescription('Gr=10')
    =BAccountDescription('1000', 'FiscalNumber')
  • BAmount(fileName, account, [,period ])
    Retrieve the normalized amount based on the BClass.
  • BBalance(fileName account [, period])
    Riprende il Saldo del conto indicato alla fine del periodo.
    Il risultato del BBalance é la somma di BOpening + BTotal
    È usato per riprendere i dati contabili dai conti del bilancio (Attivi, Passivi)
    • Il conto può essere un numero di conto o una string contenente diversi conti, separati dal carattere “|”.
      Puoi specificare conti normali, centri di costo o segmenti.
      Puoi anche usare wild cards e anche “Gr=” seguito dal gruppo contabile.
      Per maggiori informazioni guarda la descrizione della funzione Javascript per currentBalance (in inglese)
    • Esempio
      “1000” “1000|1001” “10*|20*”  “Gr=10” “Gr=10|Gr=20” “Gr=1*”
      ".P1" ";C01|,C02",":S1|:S2"
      "1000:S1"
  • BBalanceGet(fileName, account, cmd, valueName [,period ])
    Questa funzione permette di accedere facilmente a tutti gli altri dati resi disponibili dal  REST API come “saldo”, “budget”
    Esempi:
    =BAmount( FName, “1000”, “balance”, “currencyamount”)
    =BAmount( FName, “1000”, “balance”, “count”)
    =BAmount( FName, “1000”, “balance”, “debit”)
    =BAmount( FName, “1000”, “budget”, “debit”)
  • BBudgetAmount(fileName account [, period])
    Uguale al BAmount ma usa i dati saldo invece dei dati contabili.
  • BBudgetBalance(fileName account [, period])
    Uguale al BBalance ma usa i dati budget invece dei dati contabili.
  • BBudgetInterest(filename, account, interestRate [, period])
    Uguale al BInterest ma usa i dati budget invece dei dati contabili.
  • BBudgetOpening(fileName account [, period])
    Uguale al BOpening ma usa i dati budget invece dei dati contabili.
  • BBudgetTotal(fileName account [, period])
    Uguale al BTotal ma usa i dati budget invece dei dati contabili.
  • BCellValue(fileName, table, rowColumn, column)
    Riprende il contenuto di una cella della tabella.
    Esempi:
    =BCellValue(FName, “Accounts”, 2, “Description”)
    =BCellValue(FName, “Accounts”, “Account=1000”, “Description”)
    =BCellValue(FName, “Accounts”, “Group=10”, “Description”)
  • BCreatePeriod( startDate, endDate)
    Prende le date di due celle e crea una string di periodo
    =BCreatePeriod(D4, D5)
  • BDate(isoDate)
    Converte una Iso Date in una data Excel.
  • BFileName(fileName [, disable connection])
    Riprende il FileName o una string vuota, se non c'é collegamento con il web server o se il file non é corretto.
    Se il valore del disableConnection non é vistato, la funzione dà una string vuota.
    Usa le celle che contengono il risultato di questa funzione come parametro file name, quando usi le altre funzioni. Se il programma Banana non é aperto viene fatta solo una query e Excel non aspetterà molto tempo.
  • BFunctionsVersion()
    Riprende la versione della funzione nel formato data.
  • BInfo(fileName, sectionXml, idXml)
    Recupera le informazioni riguardanti le proprietà del file.
    Esempi:
    =BInfo( FName, “Base”, “HeaderLeft”)
    =BInfo( FName, “Base”, “DateLastSaved”)
    =BInfo( FName, “AccountingDataBase”, “OpeningDate”)
    =BInfo( FName, “AccountingDataBase”, “BasicCurrency”)
  • BInterest(filename, account, interestRate [, period])
    Calcola gli interessi per questo conto per il periodo specificato.
    • il conto può essere qualsiasi conto, come specificato nel BBalance
    • il calcolo degli interestRate in percentuale
      • > 0 calcola l'interesse degli importi in Dare
      • < 0 calcula  l'interesse degli importi in Avere
  • BOpening(filename, account [period])
    Retrieve the Balance for balance of period start for the indicated account.
  • BQuery(fileName, query)
    Riprende il risultato di una query definita liberalmente.
    Esempi:
    =BQuery(FName;"startperiod?M1”)
    =BQuery(FName;"startperiod?M1”)
  • BTotal(filename, account [,period])
    Riprende il movimento del periodo.
    Dovrebbe essere usato per riprendere i dati dei conti del Conto Economico (Costi e Ricavi).
  • BVatBalance(filename, vatCode, vatValue [, period])
    Riprende un valore rispetto ad un VatCode (=importo IVA) definito (o diversi VatCodes).
    “vatValue” can be “taxable”, “amount”, “notdeductible”, “posted”
    Esempi:
    =BVatBalance( FName, “V10”, “taxable”)
    =BVatBalance( FName, “V10|V20”, “posted”)



Ricalcolo

Il ricalcolo automatico non aggiorna i dati del file contabile.
Per ottenere un aggiornamento dei dati occorre chiamare la macro RecalculateAll() che chiama il metodo Application.CalculateFullRebuild

I files di esempio contengono il bottone “Recalculate” che chiama la macro RecalculateAll.


Banana host name and port

I dati del web server sono ripresi da “localhost:8081”

Puoi specificiare un host diverso inserendo un valore nella cella chiamata “BananaHostName”

Modifica le funzioni o aggiungine di nuove

Le funzioni sono definite nel modulo "Banana" del Visual Basic.
Potremmo aggiornare questo module e aggiungere nuove funzioni.

Se aggiungi delle funzioni tue sarebbe meglio aggiungerle al tuo modulo.

Per accedere alle funzionalità Macro del Visual Basic dovresti attivare le macro.

Per vedere e modficare le funzioni devi Mostrare la scheda Sviluppo sulla barra multifunzione


Cronologia delle versioni

  • 2014-07-24 prima versione
  • 2015-02-28 aggiornamento per la nuova versione con nuove funzioni
  • 2015-05-12 chiamata al web server ora richiede v1
  • 2015-05-12 sviluppo spostato su github
  • 2015-05-25 cambiato la funzione BAmoount per usare la BClass
  • 2015-10-04 aggiunta la funzione BDate

 

 

Aiutaci a migliorare la documentazione

Sono benvenuti suggerimenti per come migliorare questa pagina.

Informaci quale tema necessita di una spiegazione migliore o come chiarire meglio un argomento.

Condividi questo articolo: Twitter | Facebook | LinkedIn | Email