Cella cumulativa (cumulativa)

Contenuti

Abbastanza spesso, si verifica una situazione in cui è necessario sommare (accumulare) diversi valori inseriti in sequenza in una cella:

Quelli. se, ad esempio, inserisci il numero 1 nella cella A5, allora il numero 1 dovrebbe apparire in B15. Se quindi inserisci il numero 1 in A7, 1 dovrebbe apparire nella cella B22 e così via. In generale, quello che i contabili (e non solo loro) chiamano totale cumulativo.

È possibile implementare un tale accumulatore di celle di archiviazione utilizzando una semplice macro. Fare clic con il pulsante destro del mouse sulla scheda del foglio in cui si trovano le celle A1 e B1 e selezionare dal menu di scelta rapida Testo sorgente (Codice sorgente). Nella finestra dell'editor di Visual Basic che si apre, copia e incolla il codice della macro semplice:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("A2").Value = Range(" A2").Value + .Value Application.EnableEvents = True End If End If End with End Sub  

Gli indirizzi delle celle A1 e A2, ovviamente, possono essere sostituiti con i tuoi.

Se è necessario tenere traccia dell'immissione di dati e riassumere non singole celle, ma interi intervalli, la macro dovrà essere leggermente modificata:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Quindi Se IsNumeric(Target.Value) Then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

Si presume che i dati vengano inseriti nelle celle dell'intervallo A1:A10 e che i numeri inseriti siano riassunti nella colonna adiacente a destra. Se nel tuo caso non è adiacente, aumenta lo spostamento verso destra nell'operatore Offset: sostituisci 1 con un numero maggiore.

  • Cosa sono le macro, dove inserire il codice macro in VBA, come usarle?

Lascia un Commento