Ho un problema con Visual Basic. Voglio fare una macro/funzione che moltiplicherà un numero che inserisco per 3 e dare un risultato nella stessa cella. Ho provato qualcosa di simile:Come terminare il ciclo infinito di "modifica" in VBA
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$Q$21" Then
Target.Value = Target.Value * 3
End If
End Sub
ma non funziona - sto ottenendo risultati come "xE25" perché continua a moltiplicarsi.
Mi piacerebbe fermarsi dopo la prima iterazione o lavorare solo quando premo "invio" non ad ogni cambio nella cella.
È abbastanza semplice inserire un risultato in una cella diversa, ma non è il mio punto.
----- Edit:
Ho modificato "se" linea a:
If (Target.Column = 5 Or Target.Column = 11 Or Target.Column = 17 Or Target.Column = 23) And (Target.Row >= 19 And Target.Row <= 24) And Target.Value <> "" Then
quindi sarebbe lavorare su tutte le cellule di cui ho bisogno. Dopodiché, la soluzione migliore è data da @ Chrismas007, poiché non richiede un errore quando si tenta di cancellare i dati in poche celle contemporaneamente.
se IsVBA O IsExcel-VBA Poi IsNot (vb.net) = TRUE – Plutonix
Scusate, sono nuovo di questo linguaggio, no so cosa scegliere: P – Pawel