Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Proteggere le celle da VBA

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Proteggere le celle da VBA

Postdi flavio73 » 29/08/06 12:34

Salve.
Terminato un programmino su excel che fa uso di macro ho cercato di proteggere le celle (da modifiche intenzionali o sbadate sovrascritture) ma, se lo faccio e lancio la macro, questa (siccome utilizza le celle protette) mi dà errore di debug.
Come faccio a far utilizzare il programma su altri pc, lasciando intatto il funzionamento delle macro pur proteggendo le celle? :undecided:
Grazie.
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Sponsor
 

Postdi taurex » 29/08/06 13:23

puoi inserire prima della tua macro l'istruzione
Codice: Seleziona tutto
ActiveSheet.Unprotect
e alla fine
Codice: Seleziona tutto
ActiveSheet.Protect
Moderatore di
Immagine
taurex
Utente Senior
 
Post: 145
Iscritto il: 09/08/06 09:34
Località: Asti

Postdi taurex » 29/08/06 13:28

ovviamente puoi anche usare una password:
Codice: Seleziona tutto
ActiveSheet.Protect ("taurex")
e
Codice: Seleziona tutto
 ActiveSheet.Unprotect ("taurex")


*** Non riportare col quote tutto il messaggio
Moderatore di
Immagine
taurex
Utente Senior
 
Post: 145
Iscritto il: 09/08/06 09:34
Località: Asti

Postdi flavio73 » 29/08/06 15:53

grazie, così è perfetto!!! :)
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Proteggere le macro (con password) dalle modifiche

Postdi flavio73 » 30/08/06 07:57

:?: Ancora una cosa...
Dopo che ho protetto il foglio vorrei proteggere anche le macro, in modo che sia impossibile la loro modifica senza password.
Ho provato con proteggi e condividi cartella di lavoro ma a quel punto le macro sono sì protette ma non funzionano di nuovo + :( (debug...)
Esiste un comando vba come ActiveSheet ecc... per poter fare ciò?
Grazie.
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi Alexsandra » 30/08/06 08:43

ALT+F11 > Menù Strumenti > Proprieta VBA Project nella finestra che appare clicca su Protezione, metti la spunta al campo "Proteggi progetto ..."
Sotto nel campo password inserisci la tua password,la riconfermi,chiudi e salva.

PS. se dimentichi la password son cavoli amari :D
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi flavio73 » 30/08/06 09:06

8) Non dimentico MAI le mie password :!:
Spero... ;)
Grazie dell'aiuto, ora provo.
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi taurex » 30/08/06 09:07

flavio73 ha scritto:8) Non dimentico MAI le mie password :!:
Spero... ;)
Grazie dell'aiuto, ora provo.

Se le dimentichi non c'è problema....
la vulnerabilità delle pwd di Office è pari almeno alla sua diffusione ;)
Moderatore di
Immagine
taurex
Utente Senior
 
Post: 145
Iscritto il: 09/08/06 09:34
Località: Asti

Postdi Alexsandra » 30/08/06 13:32

taurex ha scritto:Se le dimentichi non c'è problema....
la vulnerabilità delle pwd di Office è pari almeno alla sua diffusione
Non sarei così tanto ottimista
@flavio
Cerca di ricordarle che è meglio :D
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

utilizzare programma excel con macro su altri pc

Postdi flavio73 » 16/09/06 14:32

Ho notato che ogniqualvolta scrivo un programma contenente delle macro (che sul mio pc funziona benissimo) e cerco di utilizzarlo su altri pc (es. ufficio) il programma non funziona più e dà errore di debug!
Eppure il sistema operativo e la versione excel è la stessa. Anche i comandi utilizzati nelle macro sono i classici comandi installati su tutte le versioni di excel. A che cosa può essere dovuto questo problema? :undecided:
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi Alexsandra » 16/09/06 21:30

Il foglio che contiene le macro è attivo? se ti manda in debug è probabile che lo hai aperto ma non attivo.
prova con nessun file di Excel aperto (a parte quello che ha le macro)e vedi se ti dà errore
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 17/09/06 02:46

Ciao flavio73,
prova a postare un esempio di macro che va in debug, specificando la riga in errore (quella evidenziata quando entri in debug).

A presto,
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 17/09/06 08:15

Vedi il suo post sopra il mio, dice che sul suo pc funziona, dovrebbe solo fare la prova che ho suggerito, può essere che lanci l'apertura di un'altro file e poi cerchi qualcosa nel precedente.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi flavio73 » 19/09/06 13:07

Dietro front!
Coloro che usano (o perlomeno tentano di usare) il mio progranma mi specificano che il foglio con le macro è attivo ma lanciandole si visualizza:
runtime error 1004
definito dall'applicazione o dall'oggetto.
Che :evil: diavolo è 'sto runtime?
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi Anthony47 » 19/09/06 14:03

Ciao flavio73,
prova a postare un esempio di macro che va in debug, specificando la riga in errore (quella evidenziata quando entri in debug).


Riconfermo.

Ciao,
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi flavio73 » 19/09/06 15:37

Di fatto non c'è nessun debug, solo un runtime error 1004 che dà la possibilità di cliccare sulla parola "fine", e basta.
Così mi dicono, perchè io sono sul mio pc, (dove tutto funziona) e non ho modo di controllare su un altro. Se desse un debug farei come mi hai già suggerito. Non appena potrò utilizzare un altro pc direttamente cercherò di essere più chiaro. Grazie.
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi flavio73 » 20/09/06 10:40

Avevate ragione! (ovviamente). Le persone non riuscivano ad indicarmi il debug della macro perchè io avevo protetto le macro stesse per renderle non modificabili! :oops:
Ho proceduto personalmente indicando così il seguente errore di debug:
Codice: Seleziona tutto
Selection.Sort Key1:=Range(“C1”),Order1:x1Ascending,Header:=x1Guess,_OrderCustom:=1,MatchCase:=False,Orientation:=x1TopBottom,_DataOption1:=x1SortNormal

Ecco la riga di comando che dà runtime error 1004!
Potete aiutarmi?
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi Alexsandra » 20/09/06 14:45

fai un ordinamento, bisogna vedere quello che c'è prima, comunque quell'errore è riferito ad una chiamata "Fuori percorso", cioè stai facendo un'operazione o su un file non attivo, oppure hai degli intervalli non definiti.
posta tutta la macro, si vede subito dov'è l'inghippo
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi flavio73 » 20/09/06 15:53

Ecco il tutto:
Codice: Seleziona tutto
 Sub nomemacro()
   ActiveWorkbook.Unprotect ("password")
   ActiveSheet.Unprotect ("password")
    Columns("C:D").Select
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
     OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
     DataOption1:=xlSortNormal

     Range("D:D").SpecialCells(xlCellTypeBlanks).Select
     Selection.Delete Shift:=xlUp
   
    Range("H1").Select
    Selection.Copy
    Range("G1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=CORREL(R1C1:R1000C1,R1C4:R1000C4)"
    Range("G2").Select

    Range("G1").Select
    Selection.Copy
    Range("E1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown
   
    ActiveSheet.Protect ("password")
    ActiveWorkbook.Protect ("password")
   
End Sub
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Postdi flavio73 » 20/09/06 15:54

Ovviamente le faccine che ridono le ha messe adesso al posto di duepunti D!
flavio73
Utente Junior
 
Post: 24
Iscritto il: 25/06/06 14:16
Località: Torino

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Proteggere le celle da VBA":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti