› Sviluppare funzionalita su Microsoft Office con VBA › Macro che ti permette di salvare un lavoro prima di cancellare!
-
AutoreArticoli
-
Buonasera,
ho creato una macro che mi cancella della righe da una tabella di Excel, c'è un modo per poter salvare il lavoro se per errore viene cancellato, io utilizzo il salvataggio automatico quindi anche che se non salvo il lavoro andrebbe comunque perso.
Saluti.
Massimiliano
Sub Pulisci() Application.ScreenUpdating = False Dim Prova ActiveSheet.Unprotect Prova = MsgBox("ATTENZIONE TUTTI I DATI SARANNO CANCELLATI!! Vuoi proseguire ?", vbYesNo) If Prova = vbYes Then Range("D9:D40").Select Selection.ClearContents Range("E9:E14").Select Selection.ClearContents Range("E16").Select Selection.ClearContents Range("E18:E22").Select Selection.ClearContents Range("E24:E27").Select Selection.ClearContents Range("E29:E30").Select Selection.ClearContents Range("E32").Select Selection.ClearContents Range("E34").Select Selection.ClearContents Range("E36").Select Selection.ClearContents Range("E38").Select Selection.ClearContents Range("E40").Select Selection.ClearContents Range("F9:F40").Select Selection.ClearContents End If ActiveSheet.Protect Application.ScreenUpdating = True End Sub
Puoi creare una copia della cartella Excel usando Workbook.SaveCopyAs ad inizio macro oppure creando una copia del foglio tarmite Worksheet.Copy.
Quindi se metto l'istruzione all'interno della mia macro, quando schiaccio il tasto pulisci lui mi crea una copia nel mio stesso foglio (esempio foglio 1(2), giusto?
Sub Pulisci() Application.ScreenUpdating = False Dim Prova Worksheet.Copy "Foglio1" ActiveSheet.Unprotect Prova = MsgBox("ATTENZIONE TUTTI I DATI SARANNO CANCELLATI!! Vuoi proseguire ?", vbYesNo) If Prova = vbYes Then
Ciao Karma,
ti ringrazio per il suggerimento, però adesso mi salva il foglio nuovo con la protezione delle celle ed il vecchio no, come posso fare per ovviare al problema e dirgli che sull'originale deve lasciare le celle bloccate e sulla copia quelle sbloccate?
Grazie.
-
AutoreArticoli