LE FUNZIONI

Sono già presenti diverse funzioni in Excel. Potete trovarle facendo Inserisci => funzioni. A che cosa servono ?
Servono a aiutarvi a fare calcoli più complicati di una simplice addizione o sottrazione.

Queste funzioni fanno i calcoli usando i valori che avete dato. Questi valori sono chiamati argomenti. Così un funzione è formatta dal nome della funzione e dal o dagli argomenti per fare il calcolo.

Nom_della_funzione(argomento1;argomento2;...)

Secondo la funzione, possono esserci un argomento, due o tanti. Gli argomenti possono essere un numero, un testo, un valore logico come vero o falso, valori d'errore o l'indirizzo di una cella. Per usare una funzione, dovete sempre usare il segno "=".

Facciamo un esempio per chiarire un pò la situazione !

Se volete per esempio fare la somma delle celle A1 fino a A10, potete usare la funzione somma(). Fate :
Inserisci => funzioni :

Potete cercare una funzione scegliendo nella categoria e selezionando la funzione, o altrimenti, potete anche scrivere il nome della funzione se lo conoscete e fare ok.

Per vostro esempio, scrivete "somma" e fate ok. Ora, vedete questo :

Vedete anche sopra che esiste la definizione della funzione, e poi, potete chiedere l'aiuto per sapere come scrivere gli argomenti.

Dunque vedendo l'aiuto, sapete che potete scrivere la funzione così :

=somma(A1;A2;A3;...;A10)

o meglio

=somma(A1:A10)

Adesso che abbiamo visto le funzioni, volete provare a fare una somma se il colore è il colore della prima cella ! Cercate nelle funzioni, trovate la funzione somma.se e guardando l'aiuto vedete che non potete usarla in questo caso. Dunque, tocca a voi di fare un funzione !!!

Come se fà una funzione ? chiedetemi !

Una funzione si fà con lo stesso principio che la macro. la differenza, è che dovete introdurla in maniera diversa. Per le macro, abbiamo visto che un macro si crea con le parole :

Sub macro()
...
End sub

Vi ricordate ?

Una funzione si crea con le parole :

Function nome(argomento1;argomento2;...)
...
End sub

Allora, come faremo con una macro a calcolare tutte le celle che sono scritte con il colore della cella A1. Faremo così. Avreste trovato ? Communque è già una macro difficile.

Sub somma_scritta_colorata
Dim colore As Integer
Dim result As Long
Dim cella as Range
colore = range("A1"). Font.ColorIndex
range("A1:A10").select
For Each cella In selection
If cella.Font.ColorIndex = colore Then
result = result + cella.Value
End If
Next
Msgbox(result)
End sub

Scrivete nel foglio1 questo :

E provate : Vedete "2000" ? Bene.

Adesso, cambiate la macro con una funzione :
Dovete rifleterre sugli argomenti : Dovete avere l'indirizzo della cella con il colore del testo, e avere la spiaggia della somma.

Dunque ci sono due argomenti, allora, comincia così :
Function somma_secolore(cella As Excel.Range, cella2 As Range)

Vi dò anche un' astuzia : Perchè la funzione sia aggiornata, dovete usare la parola : Application.Volatile '(grazie a Maurizio di avermi insegnato questa parola !).

Allora :
Function somma_secolore(cella As Excel.Range, cella2 As Range)
Application.Volatile
...
End Function

Adesso che avete le chiavi, vi lascio cercare. Coraggio !

Avete trovato ? Altrimenti potete guardare cui :

Prova :

Come scrivere una funzione in Excel ?
=Nomefunzione()
=subfunzione
Risultato nomefunzione()

Come scrivere un funzione nel VBE ?
sub ... End sub
Function ... End Function
=Nomefunzione()

Qual funzione permette l'aggiornamente automatico ?
Application.Volatile
Il tasto F5
Function ... End Function