Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

protezione "avanzata" foglio excel (per esperti)

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

protezione "avanzata" foglio excel (per esperti)

Postdi Michele76 » 31/03/03 20:10

Salve a tutti,

sto cercando di proteggere un foglio excel in modo particolare (ammesso che si possa fare):nell'ufficio tecnico dell'azienda dove lavoro generiamo in modo semplice e quasi automatico i codici dei vari componenti mediante un foglio excel, che ha delle colonne del tipo
descrizione, materiale, peso, codice ecc...
Da tale foglio excel il software gestionale dell'azienda va a recuperarsi i codici (mediante un qualche plugin, boh, no lo so, fatto sta che funziona) perchè siano disponibili a tutta l'azienda.
Per precauzione abbiamo protetto il foglio con una password, così possiamo editarlo solo uno alla volta; ma poichè siamo in più uffici non adiacenti, capita che ci "sovrapponiamo" ed ogni volta si deve fare un giro di telefonate interne per chiedere ai colleghi di chiudere sto file codici.xls.
Onde evitare questo, volevo chiedervi se sapete un modo per proteggere il foglio excel in modo tale che si possa liberamente aggiungere dei record senza usare una password, ma non eliminare o modificare quelli già esistenti (salvo uso di una "segretissima" password per casi assolutamente eccezionali).
Quello che voglio è in altre parole che siano scritti permanentemente, come su registro cartaceo (verba volant scripta manent...)
Che dite, si può fare qualcosa?
Un grazie a tutti per la collaborazione,

Michele.
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Sponsor
 

Postdi ezechiel2517 » 01/04/03 08:08

Ecco un simpatico problemino che mi richiedera' diversi smadonnamenti con excel in tedesco :P !
cmq credo che si possa fare quello che chiedi, dammi solo un po di tempo PLS!
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi ezechiel2517 » 01/04/03 12:32

Stamane avevo in mente un'altra soluzione.... ma dopo pranzo, con la pancia piena, vengono fuori le idee migliori.
lo sai che i fogli possono essere anche solo PARZIALMENTE protetti?
Se tu proteggi tutto il foglio e poi sproteggi le celle che "non" ti interessano dovresti risolvere il tuo problema.

Allora prima di postare la procedura l'ho voluta testare:
1. Seleziona le celle che vuoi possano essere modificate anche dopo che avrai protetto il foglio

2. cliccki destro FORMATO CELLE-->PROTEZIONE--> e togli il flag a "proteggi" (la trad potrebbe non essere corretta)

3.Dal menu, vai su STRUMENTI-->PROTEZIONE-->PROTEGGI FOGLIO
la password e' opzionale...ma e' caldamente consigliata!

HTH
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

protezione excel

Postdi Michele76 » 01/04/03 21:14

ezechiel2517 ha scritto:lo sai che i fogli possono essere anche solo PARZIALMENTE protetti?
Se tu proteggi tutto il foglio e poi sproteggi le celle che "non" ti interessano dovresti risolvere il tuo problema.

Allora prima di postare la procedura l'ho voluta testare:
1. Seleziona le celle che vuoi possano essere modificate anche dopo che avrai protetto il foglio

2. cliccki destro FORMATO CELLE-->PROTEZIONE--> e togli il flag a "proteggi" (la trad potrebbe non essere corretta)

3.Dal menu, vai su STRUMENTI-->PROTEZIONE-->PROTEGGI FOGLIO
la password e' opzionale...ma e' caldamente consigliata!

HTH


Innanzitutto grazie per la risposta;
allora, l'idea di base è assolutamente giusta;
solo che devo fare in modo di sproteggere tutte le celle vuote (appunto quelle dove si inseriscono i nuovi codici), mentre quelle già utilizzate devono essere sempre protette.
C'è poi il problema che la procedura deve essere diciamo, ehm, a prova di deficente, perciò se metto una password che conosco solo io allora i colleghi non possono lavorarci sopra; se la conoscono tutti, allora è come se non ci fosse (e quindi chiunque può far danni...)
Sto pensando se si possa fare una macro che automaticamente protegge le celle già utilizzate (cioè non vuote, magari usando la funzione SE.VUOTA o qcosa del genere);
questa macro dovrebbe essere eseguita in automatico ogni volta che si genera un nuovo record.

Si può fare ?

P.S. scusate per il doppio topic, devo aver cliccato per errore due volte.
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi ezechiel2517 » 02/04/03 08:34

QUESTA era la prima soluzione che mi era venuta in mente!!!!
Non ti assicuro che riusciro ' a fartela avere per oggi..ieri dopo aver postato la soluzione ho "rimosso" il problema!
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi ezechiel2517 » 02/04/03 12:46

Allora ne ho una semplice-semplice pronta ma.... non mi piace!
ti dico cosa fa e mi dici se va bene (io cmq sto lavoricchiando ad un'altra!).
in pratica appena viene modificata una cella nella prima riga sotto il range di righe protette, questa viene protetta automaticamente!
ora ti spiego perche' non mi piace:
in questo modo se qualcuno immette un valore sbagliato...per modificarlo ha bisogno della password (o deve chiedere a te di correggerlo!)

Giusto per sapere...cosa ci fate in genere con questo file?

HTH
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi ezechiel2517 » 02/04/03 12:59

Sono ATTIVISSIMO!!
ecco una breve descrizione della versione 1.2:
appena vengono inseriti dei valori in un determinato numero di celle al di sotto del range protetto, avviene l'AGGIORNAMENTO della protezione!
in questo modo la macro "aspetta" che tutto il record sia stato inserito prima di bloccare il nuovo range!

let me know!
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi Michele76 » 02/04/03 21:51

ezechiel2517 ha scritto:Giusto per sapere...cosa ci fate in genere con questo file?


Come ho scritto all'inizio, serve per definire i codici dei componenti a disegno, ovvero quelli che progettiamo noi; per quelli a commercio non serve, hanno già un loro codice.
Il problema sta proprio nella possibilità di modificarli (e non nell'impossibilità di farlo): se qualcuno si inventa che il codice (per esempio) A00107 è la staffa che ha disegnato lui e non il supporto che ho fatto io, è un casino cambiare codice (è uno dei problemi più frequenti):
1) nel cad 3D che usiamo per progettare le nostre macchine utensili, gli assemblaggi fatti col cad richiamano i pezzi con il nome del loro file, che ovviamente è uguale al codice, a parte l'estensione *.ipt; se mi rinomini un file perchè se mi cambi il codice son davvero guai.
2) poi sto foglio excel comunica verso il gestionale dell'azienda, ed allora succede che va in produzione la staffa al posto del supporto, con i chiari problemi che ne derivano...
3) ecc. ecc.. ma non voglio dilungarmi troppo.

Se rendiamo permanenti e immodificabili i record (salvo pwd che solo io e qcun altro, ma non certo tutti, sapremo), risolviamo un sacco di guai.

L'ultima chicca è rendere progressivo il codice alfanumerico in automatico, ad esempio se l'ultimo è A00107, il successivo sarà A00108, ma questo è abbastanza facile da fare.

Comunque l'idea di aspettare che si finisca di inserire un record completo è perfetta, ma che dico, geniale!

Ciao.
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi ezechiel2517 » 03/04/03 11:41

Allora apri il tuo file, seleziona il foglio che vuoi proteggere e cliccka destro sul tag con il nome e vai su visualizza codice

Immagine

copia quanto sotto

Codice: Seleziona tutto
Dim rng As Range

Private Sub Worksheet_Activate()
Row = (Range("A65536").End(xlUp).Row) + 1
Set rng = Range("A" & Row & ":T" & Row & "")
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Set isect = Application.Intersect(Target, rng)
If Not isect Is Nothing Then
    For Each cell In rng
        If cell <> "" Then Filled = Filled + 1
    Next
    If Filled = 20 Then
        Beep
        ActiveSheet.Unprotect Password:="pippo"
        ActiveSheet.Cells.Locked = False
        ActiveSheet.UsedRange.Locked = True
        ActiveSheet.Protect DrawingObjects:=True, _
                       Contents:=True, Scenarios:=True, Password:="pippo"
        ActiveWorkbook.save
        Row = rng.Row + 1
        Set rng = Range("A" & Row & ":T" & Row & "")
    End If
End If

End Sub


HTH
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

solo per capire....

Postdi fiorella » 03/04/03 14:34

qual'è esattamente la molla che fa usare un foglio elettronico - per quanto evoluto - come fosse un db o altro?
ho letto ed apprezzato le varie soluzioni bellissime e fantasiose ma non ho sentito nessuno dire che lo strumento di partenza è inadeguato.
stò sbagliando?
scusate l'invadenza..e..davvero, era solo per capire

ciao a tutti
fiorella
fiorella
Utente Junior
 
Post: 40
Iscritto il: 02/04/03 13:46

Postdi ezechiel2517 » 03/04/03 14:40

NO non stai sbagliando, in effetti excel non e' stato concepito per gestire db! Questo comunque non ne vieta l'utilizzo!
Secondo me dipende da:
1) professionalita del db
2) dimensioni del db

io non uso MAI access per i MIEI database, ma si tratta di database personali e di piccole dimensioni (max un migliaio di record). Con un paio di formulette ben scritte puoi benissimo simulare tutte le query che vuoi!
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi Frengo78 » 03/04/03 14:42

Capisco cosa vuoi dire fiorella. In effetti da un punto di vista professionale gli strumenti di office compreso lo stesso access sono una scelta poco adeguate qualora si richieda la massima flessibilità e prestazioni. A quel punto vba viene sostituito da un linguaggio di programmazione piu evoluto quale vb o c per rimanere in ambiti microsoft e access con sql server. Ma non tutte le società hanno bisogno di strumenti tanto complessi e costosi.
Comunicazione di servizio: Che ne dite di splittare questo discorso in una discussione ad hoc lanciata da fiorella?
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

Postdi ezechiel2517 » 03/04/03 14:51

Frengo78 ha scritto:Comunicazione di servizio: Che ne dite di splittare questo discorso in una discussione ad hoc lanciata da fiorella?


per me e' ok ;)
Questo e' un argomento "spinoso" sul quale ho dibattuto molto. Io personalmente preferisco usare excel. Anche se non e' il task per il quale e' stato creato, lo si puo' facilmente adattare a svolgere anche questo. (Spesso uso excel anche al posto di word ;) )
Devo aggiungere che NON ho mai avuto la fortuna di dover gestire complicatissimi db professionali.
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

perchè usiamo excel

Postdi Michele76 » 03/04/03 16:21

semplicemente perchè è meglio dei foglietti di carta svolazzanti su cui scrivere i codici;
pur sapendo che esistono software adeguati e sicuramente migliori,
non spetta a noi progettisti chiedere all'azienda di investire su tali programmi,
certamente l'amministratore delegato e il nostro sistemista non sarebbero d'accordo, anzi, non lo sono.
Comunque si tratta di una gestione personale interna all'ufficio tecnico,
fatta solo per comodità.
Ciao a tutti,

grazie mille ezechiel!
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Come si fa?

Postdi Michele76 » 04/04/03 09:04

ezechiel2517 ha scritto:Allora apri il tuo file, seleziona il foglio che vuoi proteggere e cliccka destro sul tag con il nome e vai su visualizza codice

Immagine

copia quanto sotto

Codice: Seleziona tutto
Dim rng As Range
...
....
End Sub


HTH


Ciao ezechiel e ciao a tutti,
allora, come devo fare?
Devo prima proteggere il foglio con la password (pippo in questo caso, ma penso basti cambiarla sul codice) o prima inserire il codice?
Ho smanettato un po' ma non sono riuscito a farlo funzionare.
Can you help me ?

Thanks.
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Postdi ezechiel2517 » 04/04/03 09:38

per il file che ho usato come test io sono partito da un foglio non protetto
ho scritto il codice, ho protetto parzialmente il foglio manualmente (secondo il metodo che ho descritto nel mio secondo post. selezioni tutte le celle e le sproteggi, poi selezioni le celle che ti interessano e le proteggi. poi vai su strumenti-->protezione-->proteggi foglio) e ho salvato.
poi chiudi e riapri. se hai piu di un foglio basta solamente selezionare un altro foglio e riselezionare! questo serve per "attivare" il codice in "Private Sub Worksheet_Activate()".

Se in futuro vuoi cambiare la password
devi spoteggere il foglio con la vecchia password (in questo caso non devi andare a spoteggere le celle ma solo il foglio)
cambiare la password nel codice
riproteggere il foglio con la nuova password e salvare
quindi chiudi e riapri il file!
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

..solo per capire1...

Postdi fiorella » 04/04/03 10:32

ciao a tutti
non mi è ben chiaro se si voglia continuare o no sull'argomento ma in ogni caso vorrei precisare il mio punto di vista:
conosco ed uso excell da molti anni e qualche volta ho tentato anche di divorziare, in una fase in cui stavamo cambiando il sistema operativo (poi li ho tenuti tutti, sia i sistemi che gli applicativi!)
i prodotti di concorrenza che ho provato non mi hanno soddisfatta, in particolare per quanto riguarda le features avanzate, tipo filtri, pivot ( che poi, se volessimo essere ortodossi non hanno molto a che vedere con uno spreadsheet!).
comunque, per una serie di considerazioni, Excell è rimasto un ottimo compagno di lavoro, molto flessibile per i lavori veloci e per l'analisi rapida dei dati, in stand alone.
ma
dentro ad un sistema? come server di chiavi ed altri dati? colllegato in modo semiautomatico ad un cad ed un gestionale?
no, no. mi pare francamente troppo.
sono sicura che se qualcuno si mettesse a fare bene i conti (in senso lato) sulla soluzione ad esempio adottata nell'azienda di michele verrebbe il mal di pancia sia all'amministratore che al sistemista!
intendo dire: mai sentito parlare di TCO? (total cost of ownership)
....
;) non so se qualcuno si è accorto che ho spostato la discussione un tantinello più su.
(eh eh, appena arrivata e già ho combinato un macello)

comunque, se finito di aiutare michele vi rimangono ancora un poco di neuroni...mi piacerebbe discuterne con voi

buona giornata a tutti
fiorella

PS comunque io non pensavo affatto ad una soluzione +costosa.anzi!il contrario
PS1 Contributo per Michele
Per evitare che i codici vengano duplicati o modificati dai vari enti perchè non introduci un seriale che identifichi il reparto o l'ufficio che ha emesso il codice?
fiorella
Utente Junior
 
Post: 40
Iscritto il: 02/04/03 13:46

Postdi ezechiel2517 » 04/04/03 14:40

ciao fiorella,
io continuo volentieri sull'argomento e condivido il tuo punto di vista. sebbene sia un discreto utilizzatore di excel, non posso dire altrettanto di access o qualsiasi altro "surrogato" e quindi mi farebbe piacere sentire il parere di qualcuno che sa veramente cosa vuol dire gestire un db, perche' francamente IO NON LO SO! :P

ciao
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi Frengo78 » 04/04/03 15:36

Dico solo che tra due db quali SQL Server e Access la differenza è abissale!
Knowledge is a weapon
Frengo78
Utente Senior
 
Post: 8985
Iscritto il: 16/07/02 08:41
Località: Torino

thanks

Postdi Michele76 » 19/04/03 18:50

Scusate l'assenza prolungata,
quasi mi dimenticavo di ringraziare tutti voi ed in particolare ezechiel,
comunque meglio tardi che mai.

Già che ci siamo,

Buona Pasqua a tutti.
"firma temporaneamente fuori servizio"
Michele76
Utente Senior
 
Post: 305
Iscritto il: 13/03/02 16:27
Località: Longfield near Padova

Prossimo

Torna a Software Windows


Topic correlati a "protezione "avanzata" foglio excel (per esperti)":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti