Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Bloccare automaticamente il valore scritto in una cella

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

Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 19/04/11 20:08

Ciao sapete se si può Bloccare automaticamente il valore scritto in una cella di excel ?esempio:
io scrivo in una cella "11:40",vorrei che nel momemto in cui do invio ,immediatamente la cella non si possa modificare.
Grazie
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Sponsor
 

Re: Bloccare automaticamente il valore scritto in una cella

Postdi PcBase » 19/04/11 21:50

Ciao

Puoi specificare meglio: immediatamente la cella non si possa modificare.
Il foglio è protetto?
Altre eventuali considerazioni...
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 129
Iscritto il: 24/02/11 23:26

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Flash30005 » 19/04/11 21:53

Ehmmm
si può e non si può
se inetndi che se l'utente sei tu lo puoi fare e blocchi e un altro utente prova a modificare quanto da te scritto si può fare
si può fare anche se precedentemente la cella era vuota e sei tu a modificare e poi non hai più la possibilità di modificarla tu stesso
inoltre occorrerebbe sapere se si tratta di una sola cella o di un range di celle
insomma mancano molte specifiche
fai sapere
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Anthony47 » 19/04/11 21:58

Per ampliare le risposte interlocutorie: rispondero' solo se mi prometti che non mi chiederai come fare a modificare o cancellare una cella gia' compilata....
:D :D
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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 19/04/11 22:10

no il foglio non è protetto ,intendo dire io metto un orario e salvo ,metto altri orari (sempre nello stesso foglio ,sono entrate e uscite del personale)e salvo ,quello che vorrei e che l'orario che io ho digitato non possa essere modificato,in quanto il file è utilizzato da più persone 24 ore su 24, ma allo stesso tempo il mio collega deve poter mettere altri orari in altre celle sulla stessa riga.
Immagine

Ciao e grazie PcBAse
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 19/04/11 22:13

marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi PcBase » 19/04/11 23:22

Ciao

Puoi provare con vedi allegato:
http://www.sendspace.com/file/576jzb
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 129
Iscritto il: 24/02/11 23:26

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Anthony47 » 20/04/11 01:21

In alternativa alla soluzione di PcBase dovrebbe andare bene anche questo codice:
Codice: Seleziona tutto
Public Preced As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "D1:D40"    '<<< L' area da bloccare
If Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Preced Then
    Application.Undo
    MsgBox ("Vietato modificare la cella " & Target.Address)
End If
Fines:
Application.EnableEvents = True
'Target.Offset(1, 0).Select  ' Opzionale
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
On Error Resume Next
If IsError(Target.Value) Then
    Preced = False
    Else
    If Target.Value <> 0 Then Preced = True Else Preced = False
End If
End Sub

Nell' istruzione marcata <<< dovrai indicare l' area che vorresti proteggere.

Va inserito tutto nel "modulo di codice del foglio che contiene i dati: tasto dx sul tab col nome del foglio, scegli Visualizza codice, copia il codice e incollalo nel frame di dx; la riga Public deve essere la prima in testa.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 08:44

Non ho più parole ,il miglior forum .
Grazie PcBase il tuo file lo tengo è molto utile complimenti.
Anthony che dire,per il lavoro userò il tuo file , il codice che hai creato è perfetto per le mie esigenze,solo un ultima cosa ,x evitare che qualcuno modifichi il codice ,si può bloccare l'accesso al visual basic.
Marco
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi PcBase » 20/04/11 09:28

Ciao

Puoi inserire una protezione nel codice Macro mediante password.
In Excel 2003 i comandi sono:

Alt+F11
Strumenti
Proprietà di VbaProject..
Protezione

Qui inserisci la password

Buon lavoro!
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 129
Iscritto il: 24/02/11 23:26

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 11:32

Perfetto l'ho bloccato.
Grazie PcBase
Ciao .
Marco
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi ricky53 » 20/04/11 11:36

Ciao,
ricorda che le password in Office vanno utilizzate solo per evitare cancellazioni/modifiche accidentali e non garantiscono assolutamente da tentativi non autorizzati di accedere al codice, infatti, basta un minimo e si scopre/rimuove la passoword.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 11:55

SI ,è x evitare che qualcuno ci si metta a "giocare"
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 12:47

Anthony ,ho riscontrato questo problema :scrivo il valore e va bene ,provo a scrivergli sopra ,e mi dice cella protetta,provo una seconda volta e posso modficarlo.
Ciao
Marco
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Anthony47 » 20/04/11 14:10

A me il comportamento e' sempre corretto.
Hai altre macro nel file? La sequenza e' cosi' come l' hai scritta o in mezzo ci sono altre operazioni? Puoi descrivere passo passo cosa fai? Hai adeguato l' istruzione "<<<" ai tuoi dati?

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Anthony47 » 20/04/11 14:15

ERRORE.
Mi sono accorto che l' istruzione che davo per "opzionale" nella macro (Target.Offset(1, 0).Select) in realta' e' necessaria; se la disabilito sul mio foglio il comportamento e' come hai detto tu.

Se non vuoi spostare il cursore, simulando una vera digitazione, dimmelo che risolviamo in altro modo.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 15:00

se puoi è meglio fare in altro modo ,è più sicuro.
Ciao
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi Anthony47 » 20/04/11 22:32

Hum...
Ho avuto una serie di comportamenti inattesi sull' evento Worksheet_SelectionChange, in particolare eventi innescati anche in presenza di Application.EnableEvents = False. Alla fine ho optato per una "logica" realizzata in vba per annullare l' effetto.

La penultima versione della macro e' questa:
Codice: Seleziona tutto
Public Preced As Boolean, ACelAd As String
Private Sub Worksheet_Change(ByVal Target As Range)
CheckArea = "D1:D40"    '<< L' area da bloccare
If Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub
'ACelAd = ActiveCell.Range("A1").Address
If Preced Then
Application.EnableEvents = False
    Application.Undo:    ACelAd = ActiveCell.Range("A1").Address
    MsgBox ("Vietato modificare la cella " & Target.Address)
    Application.EnableEvents = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If ActiveCell.Address = ACelAd Then Exit Sub
On Error Resume Next
If IsError(Target.Value) Then
    Preced = False
    Else
    If Target.Value <> 0 Then Preced = True Else Preced = False
aaa = Target.Address
End If
End Sub

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 20/04/11 23:00

Adesso provo,intanto grazie x la disponibilità,non tutti lo farebbero.
Ciao
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Re: Bloccare automaticamente il valore scritto in una cella

Postdi marcoraiu » 22/04/11 18:11

Ciao Anthony ho provato a lungo il programma ,ho trovato questo problema:
1)clicco col mouse in una cella vuota fuori dalla area di lavoro,
2)clicco sulla cella bloccata e cambio il valore,
3)clicco di nuovo su una (o anche sulla stessa)vuota,mi dice cella protetta
4)clicco di nuovo sulla cella vuota
5)clicco di nuovo sulla stessa cella protetta e mi permette di cambiare il valore .
Con questa sequenza le celle già protette si possono cambiare .
Ciao e grazie
Marco





Buona Pasqua a tutto il Forum
marcoraiu
Utente Junior
 
Post: 73
Iscritto il: 30/03/09 16:17

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Bloccare automaticamente il valore scritto in una cella":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti