Grazie Mauro, ho letto velocemente cosa proponi, ma non volevo trattare il tutto con un form dato che attualmente non ho competenza per gestire una DB su un userform.
Perciò ora sto operando con 2 fogli excel classici a cui ho dato "aspetti" differenti:
Questo è il foglio database (foglio: Anno Corrente)da cui l'app deve, una volta che l'utente ha specificato il numero del progetto, prelevare i dati del record:

Mentre questo è il pannello di modifica dei dati (foglio: PROGETTO DETTAGLIO) da parte dell'utente (le caselle rosa dovrebbero restare sbloccate una volta che il foglio è protetto):

E questa è la app che legge il numero del progetto che l'utente inserisce e ne copia i valori nei campi del pannello (togliendo e rimettendo le password al pannello).
Private Sub UPDT_Click()
Workbooks("CRUSCOTTO 300004.xlsm").Unprotect password:="simo7466"
Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("PROGETTO DETTAGLIO").Unprotect password:="simo7466"
HOTJOBS.Hide
Worksheets("PROGETTO DETTAGLIO").Cells(4, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(4, 5) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(4, 7) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(4, 10) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(6, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(6, 10) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(8, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(8, 10) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(10, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(10, 10) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(12, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(18, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(20, 3) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(20, 7) = ""
Worksheets("PROGETTO DETTAGLIO").Cells(22, 3) = ""
row1 = 4
Do
counter = 0
project = InputBox("Specificare il numero seriale del progetto.")
Do
If Len(project) = 0 Then
counter = 1
Else
If Workbooks("CRUSCOTTO 300004.xlsm").ActiveSheet.Cells(row1, 2) = project Then
Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("PROGETTO DETTAGLIO").Visible = True
Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("PROGETTO DETTAGLIO").Select
Range("A1:K1").Select
ActiveWindow.Zoom = True
Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("PROGETTO DETTAGLIO").Range("J4").Select
'Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("Anno Corrente").Visible = False
'Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("Anno precedente").Visible = False
'In questo caso il progetto viene individuato e si passa alla schermata di modifica
counter = 1
Worksheets("PROGETTO DETTAGLIO").Cells(4, 3) = Worksheets("Anno Corrente").Cells(row1, 2)
Worksheets("PROGETTO DETTAGLIO").Cells(4, 5) = Worksheets("Anno Corrente").Cells(row1, 1)
Worksheets("PROGETTO DETTAGLIO").Cells(4, 7) = Worksheets("Anno Corrente").Cells(row1, 6)
Worksheets("PROGETTO DETTAGLIO").Cells(4, 10) = Worksheets("Anno Corrente").Cells(row1, 4)
Worksheets("PROGETTO DETTAGLIO").Cells(6, 3) = Worksheets("Anno Corrente").Cells(row1, 3)
Worksheets("PROGETTO DETTAGLIO").Cells(6, 10) = Worksheets("Anno Corrente").Cells(row1, 5)
Worksheets("PROGETTO DETTAGLIO").Cells(8, 3) = Worksheets("Anno Corrente").Cells(row1, 7)
Worksheets("PROGETTO DETTAGLIO").Cells(8, 10) = Worksheets("Anno Corrente").Cells(row1, 8)
Worksheets("PROGETTO DETTAGLIO").Cells(10, 3) = Worksheets("Anno Corrente").Cells(row1, 9)
Worksheets("PROGETTO DETTAGLIO").Cells(10, 10) = Worksheets("Anno Corrente").Cells(row1, 10)
Worksheets("PROGETTO DETTAGLIO").Cells(12, 3) = Worksheets("Anno Corrente").Cells(row1, 11)
Worksheets("PROGETTO DETTAGLIO").Cells(20, 3) = Worksheets("Anno Corrente").Cells(row1, 12)
Worksheets("PROGETTO DETTAGLIO").Cells(20, 7) = Worksheets("Anno Corrente").Cells(row1, 13)
Else
End If
End If
row1 = row1 + 1
Loop Until counter = 1 Or Workbooks("CRUSCOTTO 300004.xlsm").ActiveSheet.Cells(row1, 2) = ""
If Workbooks("CRUSCOTTO 300004.xlsm").ActiveSheet.Cells(row1, 2) = "" And counter = 0 Then
MsgBox "Non esiste un progetto con il codice specificato. Verificare e riprovare."
Else
End If
Loop Until counter = 1
Workbooks("CRUSCOTTO 300004.xlsm").Worksheets("PROGETTO DETTAGLIO").Protect password:="simo7466"
Workbooks("CRUSCOTTO 300004.xlsm").Protect password:="simo7466"
End Sub
La macro viene lanciata da un userform che si apre quando l'utente clicca il pulsante menu nel foglio database.
Il problema è che quando poi la macro termina e l'utente visualizza il foglio PROGETTO DETTAGLIO, le celle rosa sono (inspiegabilmente) non modificabili. Il cursore stesso si muove tra le celle e ha la stessa reazione che avrebbe come se fosse rimasto sul foglio
Anno Corrente.
Contestualmente a questo, capita che la scroll bar o la rotella del mouse non funzionino e che il foglio presenti dei problemi di salvataggio in fase di chiusura (anziché fare un salva normale chiede un salva con nome); e in fasi di successiva riapertura
presenta problemi.
Grazie per l'attenzione e il tempo dedicato.
Attendo un suggerimento! :)