Risultati da 1 a 14 di 14

Discussione: Cancellare dati e colore su celle non bloccate



  1. #1
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Cancellare dati e colore su celle non bloccate

    Buongiorno.
    Nella discussione di Pers78 (pulsante che azzera) avevo messo il codice per azzerare le celle e mi ero ripromesso di aggiornarlo con la cancellazione del colore nelle stesse celle. Purtroppo non riesco a venire a capo del fatto che non mi toglie il colore della cella (riga in rosso) se tolgo ON error Resume Next mi da errore.
    C'è qualcuno che può darmi una dritta?

    Grazie :999:

    Codice: 
    Sub CancellaCelleNonBloccateUnFoglio() 
    Dim sh As Worksheet
    Dim lRisposta As Long
    lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
    vbYesNo + vbQuestion, "Attenzione!")
            
        If lRisposta = vbYes Then
    
    
            Application.DisplayAlerts = False
            Set sh = ThisWorkbook.Worksheets("Foglio1")
            On Error Resume Next
            sh.UsedRange.Interior.ColorIndex = 2
            sh.UsedRange.Value = ""
            MsgBox "Operazione completata"
            Application.DisplayAlerts = True
        End If
        
    Set sh = Nothing
        
    End Sub
    P.S.
    Il foglio è protetto ma senza password

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  2. #2
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, Baloon.
    Mi sono permesso di "pasticciare il Tuo Codice:
    Codice: 
    Sub CancellaCelleNonBloccateUnFoglio()
     
    Dim sh As Worksheet
    Dim lRisposta As Long
    lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
    vbYesNo + vbQuestion, "Attenzione!")        
        If lRisposta = vbYes Then
            Application.DisplayAlerts = False
            Set sh = ThisWorkbook.Worksheets("Foglio1")
            On Error Resume Next
            sh.UsedRange.Interior.ColorIndex = 2
            sh.UsedRange.ClearContents
            sh.UsedRange.Interior.PatternTintAndShade = 0
            MsgBox "Operazione completata"
            Application.DisplayAlerts = True
        End If    
    Set sh = Nothing    
    End Sub
    Per favore, controlla se, a Tuo avviso, può essere accettabile.

    Grazie.


    A disposizione.
    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  3. #3
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Chiedo scusa, credo di aver fornito una risposta non corretta.

    Il problema non è nel Codice, ma, nelle impostazioni della protezione.

    Rivedo il tutto, poi, cerco di proporre una soluzione alternativa.


    Mi scuso per il refuso.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  4. #4
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, Baloon.
    Credo proprio siano le impostazioni di protezione che impediscono il reset del Colore interno.

    Voglio dire, se controlli le impostazioni di protezione imposte nel Tuo File, dovresti trovare un flag solo su:
    - Seleziona celle sbloccate
    ora, se aggiungi il flag anche su:
    - Formato celle
    e lanci il Tuo Codice, vedrai che il colore interno verrà modificato.

    Il problema è che la condizione "Formato celle" non riguarda solo le Celle sbloccate, ma tutte le Celle, pertanto verrà modificato il colore interno anche nelle Celle bloccate.

    Questo non va bene ma non vedo alternative se non eseguire una scansione su tutte le Celle che contengono un Valore, analizzarne le Proprietà, ed eseguire le modifiche solo sulle Celle non pro*****.

    Questa, ovviamente è solo una mia interpretazione e, come tale, opinabile.


    A disposizione.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  5. #5
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da GiuseppeMN Visualizza Messaggio
    Buona giornata, Baloon.
    Credo proprio siano le impostazioni di protezione che impediscono il reset del Colore interno.

    Voglio dire, se controlli le impostazioni di protezione imposte nel Tuo File, dovresti trovare un flag solo su:
    - Seleziona celle sbloccate
    ora, se aggiungi il flag anche su:
    - Formato celle
    e lanci il Tuo Codice, vedrai che il colore interno verrà modificato.

    Il problema è che la condizione "Formato celle" non riguarda solo le Celle sbloccate, ma tutte le Celle, pertanto verrà modificato il colore interno anche nelle Celle bloccate.

    Questo non va bene ma non vedo alternative se non eseguire una scansione su tutte le Celle che contengono un Valore, analizzarne le Proprietà, ed eseguire le modifiche solo sulle Celle non pro*****.

    Questa, ovviamente è solo una mia interpretazione e, come tale, opinabile.


    A disposizione.

    Giuseppe
    Giuseppe ti ringrazio tantissimo per quanto hai fatto spero smanettando di trovare qualcosa su internet che mi possa essere di supporto. Effettivamente anche a me era venuta una cosa del genere però pensavo si potesse ovviare.

    Grazie ancora :111: e alla prossima

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  6. #6
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buon pomeriggio, Baloon.

    Perdonami l'ardire, ho preparato un File nel quale ho cercato di esprimere il mio pensiero:

    Poi, ovviamente, vedi Tu come procedere.


    A disposizione.

    Buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  7. #7
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da GiuseppeMN Visualizza Messaggio
    Buon pomeriggio, Baloon.

    Perdonami l'ardire, ho preparato un File nel quale ho cercato di esprimere il mio pensiero:

    Poi, ovviamente, vedi Tu come procedere.


    A disposizione.

    Buona serata.

    Giuseppe
    Nessun ardire siamo tutti umani (a parte qualche guru eheheeh) mi sembra che vada bene l'unico problema è il range perchè non si sa qual'è (almeno Pers78 non lo ha specificato). Il selezionare le celle con CTRL SHIFT FINE in un foglio protetto non funziona :292:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  8. #8

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1024
    Versione Office
    .
    Likes ricevuti
    367
    Likes dati
    0
    Ti basta togliere e rimettere la protezione:
    Codice: 
    Sub CancellaCelleNonBloccateUnFoglio()
      Dim sh As Worksheet
      Dim lRisposta As Long
      lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
      vbYesNo + vbQuestion, "Attenzione!")
    
          If lRisposta = vbYes Then
              Application.DisplayAlerts = False
              Set sh = ThisWorkbook.Worksheets("Foglio1")
              sh.Unprotect
              sh.UsedRange.Interior.ColorIndex = xlColorIndexNone
              sh.UsedRange.Value = ""
              sh.Protect
              MsgBox "Operazione completata"
              Application.DisplayAlerts = True
          End If
            Set sh = Nothing
    End Sub
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  9. #9
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Ti basta togliere e rimettere la protezione:
    Codice: 
    Sub CancellaCelleNonBloccateUnFoglio()
      Dim sh As Worksheet
      Dim lRisposta As Long
      lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
      vbYesNo + vbQuestion, "Attenzione!")
    
          If lRisposta = vbYes Then
              Application.DisplayAlerts = False
              Set sh = ThisWorkbook.Worksheets("Foglio1")
              sh.Unprotect
              sh.UsedRange.Interior.ColorIndex = xlColorIndexNone
              sh.UsedRange.Value = ""
              sh.Protect
              MsgBox "Operazione completata"
              Application.DisplayAlerts = True
          End If
            Set sh = Nothing
    End Sub
    Ciao Scossa non è così facile altrimenti lo avrei già risolto. Devo cancellare i valori e togliere il colore solo nelle celle non pro***** in un foglio protetto

    :62:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  10. #10
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Ciao Ballon_50 se mi permetti il tuo costrutto era perfetto già cosi come lo avevi fatto tu .
    Solo che bisognava dare importanza a quello che deve controllare la funzione errori con il codice che compie il lavoro vero e proprio .
    In fatti non ho fatto altro che trasformare il tuo codice e scriverlo cosi :

    Option Explicit
    Dim sh As Worksheet
    Dim lRisposta As Long



    Sub CancellaCelleNonBloccateUnFoglio()
    On Error Resume Next


    Application.Calculate


    lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
    vbYesNo + vbQuestion, "Attenzione!")



    If lRisposta = vbYes Then


    Application.DisplayAlerts = False
    Set sh = ThisWorkbook.Worksheets("Foglio1")
    sh.UsedRange.Interior.ColorIndex = 2
    sh.UsedRange.Value = ""
    MsgBox "Operazione completata"
    Application.DisplayAlerts = True
    End If

    Set sh = Nothing

    End Sub

    Spero che sia di tuo Gradimento Ciao da Maurizio

  11. #11
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da A.Maurizio Visualizza Messaggio
    Ciao Ballon_50 se mi permetti il tuo costrutto era perfetto già cosi come lo avevi fatto tu .
    Solo che bisognava dare importanza a quello che deve controllare la funzione errori con il codice che compie il lavoro vero e proprio .
    In fatti non ho fatto altro che trasformare il tuo codice e scriverlo cosi :

    Option Explicit
    Dim sh As Worksheet
    Dim lRisposta As Long



    Sub CancellaCelleNonBloccateUnFoglio()
    On Error Resume Next


    Application.Calculate


    lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
    vbYesNo + vbQuestion, "Attenzione!")



    If lRisposta = vbYes Then


    Application.DisplayAlerts = False
    Set sh = ThisWorkbook.Worksheets("Foglio1")
    sh.UsedRange.Interior.ColorIndex = 2
    sh.UsedRange.Value = ""
    MsgBox "Operazione completata"
    Application.DisplayAlerts = True
    End If

    Set sh = Nothing

    End Sub

    Spero che sia di tuo Gradimento Ciao da Maurizio
    Maurizio ti ringrazio del supporto che mi hai dato ma purtroppo devo dirti che non è quello il problema (on error resume next) il controllo errori lo avevo messo anch'io e comunque così mi cancella tutte le formattazioni anche nelle celle protett e

    :32:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  12. #12

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1024
    Versione Office
    .
    Likes ricevuti
    367
    Likes dati
    0
    Scusa, ho letto male la tua richiesta.
    Allora devi esaminare le singole celle:

    Codice: 
    Sub CancellaCelleNonBloccateUnFoglio()
     
      Dim sh As Worksheet
      Dim rng As Range
      Dim cella As Range
      Dim lRisposta As Long
      
      lRisposta = MsgBox("Eliminare i dati dalle celle non pro*****?", _
      vbYesNo + vbQuestion, "Attenzione!")
          
      If lRisposta = vbYes Then
    
          With Application
            .ScreenUpdating = False
            .Calculation = xlCalculationManual
          End With
          Set sh = ThisWorkbook.Worksheets("Foglio1")
          sh.Unprotect
          Set rng = sh.UsedRange
          For Each cella In rng
            If Not cella.Locked Then
              cella.Interior.ColorIndex = xlColorIndexNone
              cella.ClearContents
            End If
          Next
          sh.Protect
          Set sh = Nothing
          Set rng = Nothing
          With Application
            .ScreenUpdating = True
            .Calculation = xlCalculationAutomatic
          End With
          MsgBox "Operazione completata"
      End If
    
    End Sub
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  13. I seguenti utenti hanno dato un "Like"


  14. #13
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49
    Citazione Originariamente Scritto da scossa Visualizza Messaggio
    Scusa, ho letto male la tua richiesta.
    Allora devi esaminare le singole celle:
    Come al solito sei grande ormai non ci sono più aggettivi per poterti definire. :285: :300: :261:

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)

  15. #14
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Lo Sempre Detto anche Io che nel Saper programmare Scossa e il Migliore in Assoluto , solo che lui non ci vuole credere.
    Scherzi a parte Ciao Scossa. Saluti sinceri da Maurizio

Discussioni Simili

  1. [Risolto] Cancellare dati mediant eun CLIC
    Di Eddie18 nel forum Domande su Excel VBA e MACRO
    Risposte: 11
    Ultimo Messaggio: 17/05/17, 16:39
  2. [Risolto] cancellare riga in base a valori celle
    Di alex_drastic nel forum Domande su Excel VBA e MACRO
    Risposte: 20
    Ultimo Messaggio: 18/02/17, 17:08
  3. Risposte: 7
    Ultimo Messaggio: 03/01/17, 20:15
  4. Cancellare tutto lasciando solo alcune celle prima riga
    Di Lety88 nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 19/03/16, 12:49
  5. cambio colore del carattere e delle celle
    Di Scuotioss4 nel forum Domande su Excel in generale
    Risposte: 4
    Ultimo Messaggio: 10/12/15, 19:55

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
  •