annullare l' azione di una macro

Anonimo
2011-07-24T16:05:41+00:00

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.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-07-24T16:55:10+00:00

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

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-07-26T07:14:17+00:00

    Fantastico!!!! Grazie davvero, anche per la tempestività.

     

    Grazie per il cortese riscontro. Ovviamente dovrai gestire gli eventuali fogli da eliminare se non servono più. Buon lavoro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-07-25T20:16:07+00:00

    Fantastico!!!! Grazie davvero, anche per la tempestività.

    La risposta è stata utile?

    0 commenti Nessun commento