Allora, supponiamo che la riga 1 sia per le intestazioni e che i dati comincino dalla riga 2; che “Descrizione” sia in colonna A, la “Giacenza” sia in colonna B, i “Movimenti” (entrate o uscite, le uscite col segno “meno”) siano in colonna D.
Inserisci una ulteriore colonna che chiamiamo “Nuova Giacenza”, ad esempio in colonna E; in E2 inserisci la formula
- Codice: Seleziona tutto
=D2+B2
, che poi copi nelle righe sottostanti.
Apri il vba editor, con Alt-F11; fai Menu ->Inserisci ->Modulo, e sulla dx ti compare un frame bianco.
Copia tutte le seguenti istruzioni e incollale sul frame di destra.
- Codice: Seleziona tutto
Sub Chico1()
CDescr = "A1" 'Posizione DESCRIZIONE in Riga 1
CGiac = "B1" 'Posizione GIACENZA in Riga 1
CMovim = "D1" 'Posizione MOVIMENTI in riga 1
NGiac = "E1" 'Posizione NUOVA GIACENZA in Riga 1
PriRi = Range(CDescr).Row
LastRow = Range(CDescr).Offset(65000, 0).End(xlUp).Row
Range(NGiac).Offset(1, 0).Range(Cells(1, 1), Cells(LastRow - PriRi, 1)).Copy
Range(CGiac).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range(CMovim).Offset(1, 0).Range(Cells(1, 1), Cells(LastRow - PriRi, 1)).Select
Selection.ClearContents
Range(CMovim).Select
End Sub
Controlla subito sulle prime 4 istruzioni (dopo il titolo) se la definizione di quei parametri e’ corretta: la definizione deve corrispondere alla cella in cui e’ inserita la relativa intestazione e i dati devono cominciare nella riga sotto; eventualmente puoi corregger sia come colonna che come riga.
Dopo aver incollato le macro sul foglio Vba, torna su excel e assegna alla macro il tasto A (Maiuscolo; A come Aggiorna)
Procedura, da excel:
Menu ->Strumenti ->Macro ->Macro; quindi seleziona dall’ elenco la macro, premi Opzioni, e nell’ area “tasto di scelta rapida” digita il carattere A (in maiuscolo); chiudi con Ok e poi con <Esc> o tramite la x in alto.
Funzionamento:
-inserisci i movimenti dei beni nella colonna D, per tutte le descrizioni che vuoi; in colonna E viene calcolata la nuova giacenza, tramite la formula;
-premi Contr-Maiusc-A per attivare la macro, che copiera’ le nuove giacenze dalla colonna E alla colonna B, e poi azzera la colonna D (movimenti).
Se vuoi, puoi inserire sul foglio un pulsante (trovi il simbolo nella “barra degli strumenti Moduli”) a cui poi associ la macro (durante la fase di creazione del pulsante ti viene proposto esplicitamente), cosi' invece di Contr-Maius-A potrai usare anche il pulsante per attivare la macro.
Facci sapere, ciao.