Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Antonio,
ho un file excel con alcune celle protette. nell'eseguire le macro, prima del codice macro inserisco la seguente stringa:
Sheets("Foglio1").Unprotect
quindi il codice macro
e per riproteggere le celle inserisco la seguente stringa:
Sheets("Foglio1").Protect
Tutto sembra funzionare ma con Ma: praticamente ad esecuzione della Macro, le celle protette nn risultano + protette.
esempio:
A1= Antonio (cella modificabile), la macro deve copiare il contenuto di A1 in D4 (cella protetta). quindi scrivo il seguente codice che, ripeto, mi esegue la macro ma non ripristina la protezione nella cella D4:
Sheets("Foglio1").Unprotect
Range("A1").Select
Selection.Copy
Range("D4").Select
ActiveSheet.Paste
Range("A1").Select
Application.CutCopyMode = False
Sheets("Foglio1").Protect
End Sub
Dove sbaglio?
Quando tu copia la cella, stai anche copiando la proprietà sbloccata della cella A1 alla cella A4!
Quindi prova invece qualcosa del genere:
'=========>>
Option Explicit
'--------->>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim srcRng As Range, destRng As Range
Const sFoglio As String = "Foglio1"
Const sPWord As String = ""
Set WB = ThisWorkbook
Set SH = WB.Sheets(sFoglio)
With SH
Set srcRng = .Range("A1")
Set destRng = .Range("D4")
.Unprotect Password:=sPWord
destRng.Value = srcRng.Value
.Protect Password:=sPWord
End With
End Sub
'<<=========
===
Regards,
Norman