In questo articolo, creeremo una funzione personalizzata per calcolare la somma delle celle nell’intervallo definito per tutti i fogli di lavoro in una cartella di lavoro.

I dati grezzi per questo esempio sono costituiti da più fogli. Ogni foglio contiene i dati del team di vendita, che include il nome del venditore e il numero di articoli da lui venduti alla data specificata dal nome del foglio.

I dati di vendita sono presenti nell’intervallo A6: B16 nella stessa sequenza su tutti i fogli di lavoro.

ArrowRaw

Nella scheda “Principale”, vogliamo il numero totale di vendite effettuate da diversi addetti alle vendite. Per calcolare il numero totale di vendite, dobbiamo aggiungere il numero di vendite da tutti i fogli nella cartella di lavoro.

ArrowMain

Abbiamo utilizzato la funzione personalizzata “SumRangeOfAllSheets” per calcolare il numero totale di vendite effettuate da diversi venditori. La funzione personalizzata “SumRangeOfAllSheets” accetta l’intervallo come input.

ArrowOutput

Spiegazione logica

Abbiamo creato la funzione personalizzata “SumRangeOfAllSheets” per calcolare la somma dei valori nelle celle nell’intervallo definito per tutti i fogli di lavoro nella cartella di lavoro. La funzione personalizzata “SumRangeOfAllSheets” accetta l’intervallo come input. Questa funzione aggiunge valori nelle celle dell’intervallo definito di tutti i fogli di lavoro.

Spiegazione del codice

WorksheetFunction.Sum L’oggetto WorksheetFunction viene utilizzato per accedere alle funzioni del foglio di Excel da Visual Basics. Abbiamo utilizzato la funzione SOMMA del foglio Excel per aggiungere i valori nell’intervallo.

InputRange.Address Il codice sopra viene utilizzato per restituire l’indirizzo dell’intervallo specificato dall’oggetto intervallo “InputRange”.

Segui sotto per il codice

Option Explicit

Function SumRangeOfAllSheets(InputRange As Range)

'Declaring variables

Dim i As Integer

Dim Total As Long

'Looping through the sheets in the worksheets collection starting from second sheet

For i = 2 To Worksheets.Count

'Calculating the sum for specified range of all the sheets

Total = Total + WorksheetFunction.Sum(Worksheets(i).Range(InputRange.Address))

Next

SumRangeOfAllSheets = Total

End Function

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]