Aggiungere le celle in un intervallo da tutti i fogli di lavoro in una cartella di lavoro utilizzando VBA in Microsoft Excel
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.
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.
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.
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]