Ciao Neffa e benvenuto nel forum.
Ti do alcune soluzioni tecniche, anche se non so quanto sono applicabili a una situazione rapida quale quella del gioco.
1° ipotesi:
a)imposti excel per calcolo “manuale”: Menu /Strumenti /Opzioni; tab Calcolo, e spunti Manuale.
b)in una cella qualsiasi scrivi la formula
- Codice: Seleziona tutto
=ADESSO()
c)fai tasto dx sul tab del nome foglio e scegli Visualizza codice; ti si apre il vba editor
d)copi il seguente codice nel frame bianco di dx:
- Codice: Seleziona tutto
Private Sub Worksheet_Calculate()
On Error Resume Next
ActiveCell.Value = ActiveCell.Value + 1
End Sub
Torni sul foglio excel, selezioni una cella e premi F9; ad ogni F9 il valore della cella selezionata, qualsiasi essa sia, via incrementata di 1; per un minimo di sicurezza, se la cella contiene una stringa essa rimane invariata.
2° ipotesi:
Senza a e b dell’ ipotesi precedente, esegui gli step c e d e metti la seguente macro:
- Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
ActiveCell.Value = ActiveCell.Value + 1
End Sub
L’ incremento avviene solo selezionando la cella.
Puo’ essere utile, per la gestione manuale di eventuali errori di selezione:
-Menu /Strumenti /Opzioni; tab Modifica, togli la spunta alla casella “Sposta la selezione dopo Invio”; chiudi con Ok. In questo modo, in caso di errore di selezione cella (e quindi di incremento) puoi ripristinare manualmente un valore corrispondente all’ attuale -2, che ripristina il valore prima dell’ incremento.
Questo rimedia anche a una debolezza della soluzione, cioe’ un eventuale doppio incremento della stessa cella (non so se e’ richiesta nell’ applicazione), che puo’ essere fatto il primo con la selezione cella e il secondo col semplice Invio.
3° ipotesi
Come 2° ma con questa macro:
- Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
ActiveCell.Value = ActiveCell.Value + 1
Cancel = True
End Sub
Oppure questa:
- Codice: Seleziona tutto
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
ActiveCell.Value = ActiveCell.Value + 1
Cancel = True
End Sub
Esse incrementano la cella su cui fai doppioclick oppure rightclick.
Anche qui puoi toglere la spunta alla casella “Sposta la selezione dopo Invio”, per poter recuperare a mano un errore di battitura.
Ricorda che quando provi le varie soluzioni e’ opportuno cancellare la macro degli esempi precedenti, altrimenti gli effetti si sommano, con risultati psichedelici.
Facci sapere, ciao.