Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Private Sub CommandButton3_Click()
Dim sh As Worksheet
Dim lRiga As Long
Dim lng As Long
Set sh = ThisWorkbook.Worksheets("FINECO EURO")
With sh
lRiga = .Range("H" & .Rows.Count).End(xlUp).Row
For lng = 1 To lRiga
If .Range("H" & lng).Value = "*" Then
.Range("F" & lng).Value = ""
End If
Next
End With
Set sh = Nothing
End Sub
Tempo fa mi avete creato questa macro, fra l'altro fantastica, che mi ha reso felice e vi ringrazio ancora.
Adesso vorrei chiedere aiuto, visto che mi sembra di capire che una macro non si può annullare con un semplice "torna indietro", ecc., per creare una che possa annullare la azione appena eseguita e ripristinare la situazione iniziale, perchè alla fine il mio foglio deve rimanere nel suo stato originale.
Non si tratta di un capriccio o un eccesso di comodità, è che ogni volta che lo chiudo per poi riaprirlo, (questo è il sistema che sto adoperando), ho il terrore nella finestrina "salvare le modifiche apportate", di schiacciare per errore il "si", o che lo faccia da solo, mouse ballerino, touch screen, con le mie ditta non da pianista, ed in un attimo tutto rovinato. Scusate per il mio italiano e Vi ringrazio anticipatamente.
Non è possibile se non registrando passo passo le modifiche della macro e quindi rapplicarle. La cosa migliore è, a mio modesto parere, quella di creare un foglio uguale all'originale sul quale eseguire la macro, lasciando uguale l'originale:
Private Sub CommandButton3_Click()
Dim sh As Worksheet
Dim shNew As Worksheet
Dim lRiga As Long
Dim lng As Long
Set sh = ThisWorkbook.Worksheets("FINECO EURO")
Sheets("FINECO EURO").Copy Before:=Sheets(1)
Set shNew = ActiveSheet
With shNew
lRiga = .Range("H" & .Rows.Count).End(xlUp).Row
For lng = 1 To lRiga
If .Range("H" & lng).Value = "*" Then
.Range("F" & lng).Value = ""
End If
Next
End With
Set shNew = Nothing
Set sh = Nothing
End Sub