Cellule cumulative (cumulative)

cuntenutu

Piuttostu spessu, ci hè una situazione quandu avemu bisognu di riassuntu (accumulà) parechji valori sequenzialmente inseriti in una cellula:

Quelli. Se, per esempiu, inserite u numeru 1 in a cellula A5, allura u numeru 1 deve apparisce in B15. Se poi inserite u numeru 1 in A7, allora 1 deve apparisce in a cell B22, è cusì. In generale, ciò chì i contabili (è micca solu elli) chjamanu un totale cumulativu.

Pudete implementà un tali accumulatore di cellula di almacenamentu cù una macro simplice. Cliccate cù u dirittu nantu à a tabulazione di u fogliu induve si trovanu e cellule A1 è B1 è selezziunate da u menù di cuntestu Testu fonte (Codice surgente). In a finestra di l'editore Visual Basic chì si apre, copia è incollà u codice macro simplice:

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

L'indirizzi di e cellule A1 è A2, sicuru, ponu esse rimpiazzati cù u vostru propiu.

Sè avete bisognu di seguità l'ingressu di dati è riassume micca cellule individuali, ma intervalli interi, allora a macro duverà esse ligeramente cambiata:

Private Sub Worksheet_Change (ByVal Target As Excel.Range) If Not Intersect (Target, Range ("A1: A10")) Ùn hè nunda Tandu Se IsNumeric (Target.Value) Allora 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 assume chì i dati sò inseriti in i celi di a gamma A1: A10, è i numeri inseriti sò riassunti in a colonna adiacente à a diritta. Se in u vostru casu ùn hè micca adiacente, poi cresce u shift à a diritta in l'operatore Offset - rimpiazzà 1 cù un numeru più grande.

  • Chì sò i macros, induve inserisce u codice macro in VBA, cumu aduprà?

Lascia un Audiolibro