Do' anche io un contributo, come Ricky (vedi sopra), ma premetto che ancora non sono certo di aver capito la richiesta.
Per risolvere il problema immaginato ho usato la casella di selezione degli "Strumenti di controllo" (non Moduli), anche detto SpinButton, che ha una migliore programmazione sugli eventi; in particolare ho usato SpinButton1_SpinDown e SpinButton1_SpinUp
Il seguente codice va sul Modulo del foglio Metodo; in Modulo1 e' rimasto il vecchio codice legato alla casella di controllo, non ben funzionante al collaudo di Statix.
- Codice: Seleziona tutto
Private Sub SpinButton1_SpinDown()
RInp = "AM9:AW17" '<<< Range di partenza
ROut = "M9" '<<< Cella iniziale di output
'
Range(RInp).Copy
Range(ROut).PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range(ROut).Select
[z1] = [z1] - 1
End Sub
Private Sub SpinButton1_SpinUp()
RInp = "AM9:AW17" '<<< Range di partenza
ROut = "M9" '<<< Cella iniziale di output
'
Range(RInp).Copy
Range(ROut).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range(ROut).Select
[z1] = [z1] + 1
End Sub
Le proprieta' dello SpinButton si possono impostare visualizzando la barra degli strumenti "Strumenti di controllo", entrando in "Modalita' Progettazione" (l' icona con la squadra), poi si puo' selezionare l' oggetto e visualizzarne le Proprieta' (scelta su tasto dx); oppure visualizzarne /modificarne il codice.
Ho impostato la LinkedCell su Y1, e min/max su -100/+100.
In Z1 calcolo nel codice il numero di incrementi, per verificare che si gestisce anche la pressione continua sui pulsanti (mentre prima la macro scattava erroneamente solo una volta); la riga nel codice puo' poi essere eliminata.
Il testfile e' disponibile qui:
https://rapidshare.com/files/461203334/ ... B10508.xlsSpero sia di qualche utilita'.
Ciao a tutti.