Risultati da 1 a 12 di 12

Discussione: Impedire comparsa messaggio errore foglio protetto



  1. #1
    L'avatar di Lcbsm
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Italia
    Messaggi
    46
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    21

    Impedire comparsa messaggio errore foglio protetto

    Ciao a tutti,

    in questa discussione ho capito come posso utilizzare gli option button per impedire la modifica di alcune celle, bloccandone il contenuto attraverso del codice.

    Va tutto bene, ma ora mi chiedo se sia possibile impedire la comparsa del messaggio di errore ogni volta che faccio doppio click su una cella bloccata:



    La mia idea sarebbe quella di non visualizzare alcun messaggio quando clicco sulla cella o provo a inserire valori. Oppure, al limite, sostituire il messaggio con un altro (e lo farei con un msgbox).

    Ho provato con Application.DisplayAlerts = False nel foglio stesso, sia nelle sub OptionButtonNUMERO_click() sia in Worksheet_SelectionChange(...) ma senza risultato.

    Si può fare? Grazie!

  2. #2

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6753
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    163

    Re: Impedire comparsa messaggio errore foglio protetto

    Ciao Lcsbm

    Non ho capito bene quel che vuoi fare ma con questa macro

    Codice: 
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Locked = True Then
           Cancel = True
    End If
    End Sub
    se fai doppio clic su una cella bloccata non succede nulla; se non lo è puoi modificarla.

    Alfredo

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Lcbsm
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Italia
    Messaggi
    46
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    21

    Re: Impedire comparsa messaggio errore foglio protetto

    Alfrimpa, grazie mille, è proprio quello che mi serviva!

    Ora mi rimane solo un altro problema: le tue righe funzionano bene se faccio doppio click, ma non funzionano se provo a scrivere qualcosa nelle celle (e infatti l'evento - si chiama così? - è BeforeDoubleClick). Nell'elenco degli eventi non trovo un evento che mi faccia pensare che possa attivarsi in caso di scrittura della cella (ho provato Change, ma non funziona).

    Puoi aiutarmi anche in questo?

  5. #4

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6753
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    163

    Re: Impedire comparsa messaggio errore foglio protetto

    Ciao Lcbsm

    Non riesco a capire la tua domanda.

    Tu dici: "ma non funzionano se provo a scrivere qualcosa nelle celle"

    Ma stai scrivendo in una cella protetta o sbloccata? Se è protetta è normale che debba venir fuori un avviso (o quello di Excel o una MsgBox)

    Svuoi scrivere in una cella protetta devi (come mi pare ti sia stato già detto) sproteggere il foglio, scrivere e riproteggere.

    Puoi spiegare meglio quello che vuoi fare?

    Alfredo

  6. #5
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1099
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Impedire comparsa messaggio errore foglio protetto

    Lcsbm
    ma sei stato tu a dire
    Va tutto bene, ma ora mi chiedo se sia possibile impedire la comparsa del messaggio di errore ogni volta che faccio doppio click su una cella bloccata:

  7. #6
    L'avatar di Lcbsm
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Italia
    Messaggi
    46
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    21

    Re: Impedire comparsa messaggio errore foglio protetto

    Scusate, non sono un fenomeno nel farmi capire :)

    Citazione Originariamente Scritto da patel Visualizza Messaggio
    Lcsbm
    ma sei stato tu a dire
    Hai ragione, ho scritto ciò di cui avevo bisogno in due punti diversi del testo, ma nel primo ho messo un'informazione incompleta, mentre nel secondo ho scritto tutto. Nel secondo punto ho infatti scritto "La mia idea sarebbe quella di non visualizzare alcun messaggio quando clicco sulla cella o provo a inserire valori".


    Citazione Originariamente Scritto da alfrimpa Visualizza Messaggio
    Ciao Lcbsm

    Non riesco a capire la tua domanda.

    Tu dici: "ma non funzionano se provo a scrivere qualcosa nelle celle"

    Ma stai scrivendo in una cella protetta o sbloccata? Se è protetta è normale che debba venir fuori un avviso (o quello di Excel o una MsgBox)

    Svuoi scrivere in una cella protetta devi (come mi pare ti sia stato già detto) sproteggere il foglio, scrivere e riproteggere.

    Puoi spiegare meglio quello che vuoi fare?

    Alfredo
    So cosa vuol dire tentare di scrivere in una cella protetta: significa non poter scrivere e ricevere un messaggio di errore. So che per scrivere bisogna sbloccarla.
    Quando una cella è bloccata, si riceve un messaggio di errore sia che si provi a scrivere qualcosa dentro, sia che si provi a fare doppio click sulla cella stessa.
    Il tuo codice è fantastico perchè mi risolve il problema del doppio click, ma ovviamente non funziona nel caso in cui io provi a scrivere qualcosa nella cella bloccata: in questo caso, il messaggio di errore compare. Ma è normale, poichè l'evento sul quale hai lavorato è "BeforeDoubleClick", quindi il codice fa quello che deve fare in caso di doppio click.

    Chiedevo se, secondo voi, è possibile estendere questo codice anche nel caso in cui l'utente provi a scrivere qualcosa nella cella, ovvero nel caso in cui punti una cella, faccia un solo click e poi prema dei tasti sulla tastiera. In questo caso quale sarebbe l'evento da utilizzare al posto di "BeforeDoubleClick"?



    Scusate il caos e grazie per la pazienza ;)

  8. #7

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6753
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    163

    Re: Impedire comparsa messaggio errore foglio protetto

    Mah continuo a non capire.

    Se una cella è protetta vuol dire che non si vuole che la si possa modificare.

    L'unico evento è il Worksheet_Change ma come detto prima occorre sproteggere e riproteggere.

    Cerca di spiegare punto per punto quello che vuoi fare.

    Alfredo

  9. #8
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1099
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Impedire comparsa messaggio errore foglio protetto

    invece di proteggere potresti provare questa
    Codice: 
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim campo As Range
    Set campo = Range("A3")
    If Not Intersect(Target, campo) Is Nothing Then
        MsgBox "Cella non selezionabile", 0 + 163, "Errore"
        Range("A1").Select
    End If
    Set campo = Nothing
    End Sub
    oppure
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3")) Is Nothing Then
      Application.EnableEvents = False
      Application.Undo 
      Application.EnableEvents = True
    End If
    end sub

  10. #9
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3206
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    154

    Re: Impedire comparsa messaggio errore foglio protetto

    Salve a tutti.
    Oppure, seguendo il suggerimento di Alfredo (un saluto) si potrebbe intercettare l'evento Worksheet_Change ed inserire la seguente macro (non permette di cambiare il contenuto della cella B2 - ovviamente se contiene qualcosa ma neppure di scrivere qualcosa)
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Not Intersect(Target, Range("B2")) Is Nothing Then
            Application.Undo
        End If
        Application.EnableEvents = True
    End Sub
    Ciao a tutti,
    Mario

    PS dimenticavo: il foglio può anche essere NON protetto. In quella cella non si entra.

  11. #10
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3206
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    154

    Re: Impedire comparsa messaggio errore foglio protetto

    @patel
    scusa la sovrapposizione, ma noi "vecchietti" dobbiamo difenderci.
    Ciao,
    Mario

  12. I seguenti utenti hanno dato un "Like"


  13. #11
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1099
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Impedire comparsa messaggio errore foglio protetto

    questa permette di scrivere se la cella è vuota
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        NewVal = Target.Value
        Application.EnableEvents = False
        Application.Undo
        If Target = "" Then Target = NewVal
        Application.EnableEvents = True
    End If
    End Sub

  14. #12
    L'avatar di Lcbsm
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Italia
    Messaggi
    46
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    21

    Re: Impedire comparsa messaggio errore foglio protetto

    Alfrimpa, Patel, Marius siete stati gentilissimi, vi ringrazio tantissimo per quanto avete scritto, ma purtroppo non è ciò di cui ho bisogno (oppure non riesco a far funzionare le cose, ipotesi da non scartare :)).

    Mi rendo conto di non essermi spiegato bene, provo a spiegare meglio ciò a cui stavo pensando e vi faccio vedere anche un esempio del foglio di partenza.

    Allora, ho un foglio nel quale ho due optionbutton activeX. Il foglio è già completamente bloccato (con pwd: fff).

    • Cliccando sul primo bottone (chiamato "Blocca contenuto cella E10") praticamente non succede nulla: tutto il foglio rimane bloccato, viene solamente scritto il valore "1" nella cella D10
    • Cliccando sul secondo bottone ("Sblocca contenuto cella E10"), viene sbloccata la cella E10, dove l'utente deve poter scrivere un valore numerico (ho messo 100 di default) e viene scritto il valore "2" nella cella D10.


    Ora, quale che sia il bottone che scegliete, tutto il foglio è bloccato (a parte la cella E10 se scegliete il secondo bottone, ovviamente). Su ognuna di queste celle bloccate, se uno prova a scrivere qualcosa (quindi: se uno sceglie una cella, fa un solo click con il pulsante sx su quella cella e infine preme dei tasti sulla tastiera) oppure su uno fa doppio click, riceve il messaggio di errore che vi ho fatto vedere nel primo post. Ciò che mi piacerebbe riuscire a fare è:
    1. NON far comparire il messaggio di errore quando uno fa doppio click su una qualsiasi cella bloccata
    2. NON far comparire il messaggio di errore quando uno prova a scrivere qualcosa su una qualsiasi cella bloccata

    L'unica cosa che mi interessa è non far comparire il messaggio di errore. Vorrei che facendo doppio click o provando a scrivere su una cella bloccata non succeda nulla e non vorrei vedere il messaggio di errore.

    Il codice del primo post di Alfrimpa funziona molto bene per il caso numero 1 (doppioclick) ma non funziona nel caso numero 2 (provare a scrivere nella cella).

    Gli altri vostri contributi sono senza dubbio utili e interessanti, ma vanno a colpire una sola cella, mentre il mio obiettivo è far sparire i messaggi relativi al blocco sull'intero foglio.

    Spero di avervi dato informazioni più chiare di quelle che vi ho dato ieri ;)
    File Allegati File Allegati

Discussioni Simili

  1. evidenziare che un foglio è protetto / non protetto
    Di FB17 nel forum Domande su Excel VBA e MACRO
    Risposte: 6
    Ultimo Messaggio: 24/12/16, 18:23
  2. evidenziare che un foglio è protetto / non protetto
    Di FB17 nel forum Test dei vostri post
    Risposte: 0
    Ultimo Messaggio: 24/12/16, 00:46
  3. convalida dati con messaggio d'errore
    Di vittorio dit nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 04/12/16, 13:38
  4. [Risolto] Creare messaggio di errore
    Di Jabets nel forum Domande su Excel in generale
    Risposte: 10
    Ultimo Messaggio: 07/09/16, 15:10
  5. Macro che da messaggio di errore quando non trova immagine
    Di Gavino nel forum Domande su Excel VBA e MACRO
    Risposte: 2
    Ultimo Messaggio: 11/11/15, 21:04

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •