lunedì 6 aprile 2009

Pagamenti in scadenza con Excel

Con Excel 2003 ho creato un comodo database delle scadenze di pagamento. In una colonna ho inserito le varie scadenze, nelle altre ho inserito i dati dei fornitori (anagrafica, estremi della fattura, importo, modalità di pagamento e altre). In questo modo, attivando la funzione filtro automatico dal menu Dati posso sapere per una certa data quali sono le fatture da pagare ed il loro importo. Il problema è che se nell’ultima colonna inserisco la funzione somma delle celle contenenti gli importi, mi viene dato il totale di tutte le celle, anche di quelle non visualizzate. Vorrei, invece, la somma delle sole celle visualizzate.
Una funzione di questo tipo non è disponibile in Microsoft Excel ma può essere facilmente creata con l’editor di Visual Basic. Aprite un nuovo documento di Excel, cliccate su Strumenti, Macro, Visual Basic Editor, nella finestra dell’editor selezionate Inserisci, Modulo.
Digitate le seguenti istruzioni:

Public Function SumVisible(a As Range) As Double
Dim c As Range
Dim value As Double
value = 0
For Each c In a
If c.EntireColumn.Hidden = False And c.EntireRow.Hidden = False Then
If IsNumeric(c.value) = True Then
value = value + c.value
End If
End If
Next
SumVisible = value
End Function


Cliccate su File, Esporta file e salvatelo nella posizione proposta dal programma col nome predefinito. Copiate il contenuto del file originale nel nuovo documento. Nella cella che mostra il totale scrivete =SumVisible seguita da parentesi contenenti l’intervallo delle celle. Per esempio se le cifre da sommare si trovano nell’intervallo di celle tra A1 e A10 dovete scrivere =SumVisible(A1:A10).

Nessun commento:

Posta un commento