contatore che si incrementa da solo


Domanda: Attualmente applico questo vba:

Private Sub Workbook_SheetBeforeRightClick
a=Cells(13, 5)
a=a+1
Cells (13, 5) = a
End Sub

l'inconveniente è che in qualsiasi parte del foglio clicco col tasto destro mi va ad aumentare il contatore.

Vorrei bloccarlo nella cella E13.

 

Risposta:
se capisco bene, vorresti che solo quando clicchi sulla cella E13 (cells(13,5)) si incrementi il contatore.

bene è molto semplice, devi verificare all'interno della procedura se la cella attiva è appunto E13 e in questo caso incrementare il contatore, altrimenti lasciare il contatore cosi' come si trova.

per verificare la posizione del cursore devi verificare la proprietà ActiveCell di Excel. ti consiglio anche di utilizzare l'evento che ho usato io: è molto più efficace.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Row = 13 And ActiveCell.Column = 5 Then
a = Cells(13, 5)
a = a + 1
Cells(13, 5) = a
End If

End Sub

per maggiori informazioni sugli eventi di Excel potete visitare la pagina:

http://www.terzaghi.it/excel/esegui_macro_all_avvio.htm

dove dovrete inserire il codice qui rappresentato in Foglio1 (Sheet1) e non in ThisWorkbook come evidenzaito dalla pagina indicata