Sì sì ma nell'ufficio non sono dei geni con excel
Ma magari anche loro hanno accesso a questo forum...
Per scrivere una macro:
-da excel, Alt-F11 e si apre l' editor delle macro (finestra Microsoft Visual Basic)
-Menu /Inserisci /Modulo per inserire un modulo vuoto di macro
-comincia a scrivere un titolo per la macro, ad esempio Sub Primamacro()
-ti viene subito compilato un End Sub
-in mezzo scrivi le istruzioni che possono realizzare il flusso logico che hai in mente
Semplice, no?
So che la risposta e' "No, al momento". Pero' excel ha il "registratore di macro", uno strumento capace di tradurre comandi e azioni in codice macro: comincia quindi a registrare qualche macro mentre esegui delle operazioni semplici (da excel, Menu /Strumenti /Macro /Registra nuova macro; poi dai i comandi excel); poi interrompi la registrazione (Menu /Strumenti /Macro /Interrompi registrazione); Alt-F8, seleziona la macro appena registrata dall' elenco che ti viene proposto, premi Modifica; esamina quindi il codice prodotto, usa l' help on line per capire il significato di ogni termine (seleziona una parola e premi F1), e comincia a immaginare come puoi apportare piccole modifiche per produrre risultati piu' complessi.
Nel caso in discussione la pratica e' un po' piu' complessa, come e' complesso l' obiettivo che ti poni (per cui mi aspettavo un minimo di conoscenza delle macro); una bozza "chiavi in mano" e' questa macro:
- Codice: Seleziona tutto
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "ORDINE" Or _
Sh.Name = "ACCONTO" Or _
Sh.Name = "SALDO" Then
Range("IC65000").Select
If InputBox("Password di accesso al foglio?", "Verifica password") <> "passwordsegreta" Then
MsgBox ("Accesso non consentito")
Sheets("PREVENTIVO").Select
Else: Range("A1").Select
End If
End If
End Sub
Apri l' editor delle macro (Alt-F11), cerca nel frame di sx intitolato "Progetto - VBAProject" la voce ThisWorkbook (Questa_cartella_di_lavoro), doppioclick sulla voce, copia il codice e incollalo nel frame di dx (se non trovi il frame Progetto - VBAProgetto": Menu /Visualizza /Gestione progetti).
Nota che nella prima risposta ti avevo proposto di inserire 3 macro di tipo "Worksheet_Activate", mentre adesso sto usando una sola macro che lavora a livello di tutti i fogli di lavoro (la prima istruzione, su tre righe, decide poi se il controllo va eseguito o no).
Prova e fai sapere, ciao.