Pagina precedente | 1 2 3 4 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

messaggio di errore con due celle piene

Ultimo Aggiornamento: 21/06/2020 09:46
Post: 656
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
14/02/2018 18:02

Il progetto globale è tuo per cui puoi essere solo tu quello che può analizzare l'intero ciclo delle macro.
Per esempio, se la Macro1 deve fare solo la pulizia dei fogli, che c'azzecca l'avvio della macro Workbook_SheetChange, ovvero quella che contiene la riga "If Not Intersect(Target, [I14:I57]) Is Nothing Then", che va in errore ? evidentemente ti manca nella Macro1 la gestione degli eventi con "Application.EnableEvents = False" che andrai a mettere subito dopo "If avviso = vbNo Then Exit Sub" per poi riattivarli in fondo prima della riga "Set wb = Nothing", in pratica dopo la pulizia e prima della fine della macro in modo che non venga mai attivata la gestione degli eventi in quando di nessuna utilità in questo frangente.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 210
Registrato il: 02/04/2010
Città: MILANO
Età: 54
Utente Junior
2002
OFFLINE
15/02/2018 14:55

ho fatto cosi

Sub Macro1() 'cancella i dati e commenti in tutti i mesi
 
Dim wb As Workbook
Dim R As Integer
Dim avviso As String
avviso = MsgBox("Stai per ripulire il foglio," & vbLf _
    & "è proprio quello che ti proponevi di fare ?", _
    vbYesNo + vbExclamation, "Pulitura Foglio")
If avviso = vbNo Then Exit Sub
Application.EnableEvents = False
Set wb = ThisWorkbook
 
wb.Sheets("RIEP").Range("C2,C3,C4,C5,C7").FormulaR1C1 = "0"
For R = 2 To 13
    With Sheets(R)
        .Unprotect
        With .Range("B14:J56,J12,I12")
            .ClearContents
            .ClearComments
        End With
        .Range("J12,I12,M12,O12,F10,G10,H10,O9,BG13,BH13").ClearContents
        
         .Protect DrawingObjects:=False, Contents:=True, Scenarios:=True
    End With
Next R
 Application.EnableEvents = False
Set wb = Nothing
Sheets("RIEP").Select
End Sub



se clicco "no" sul messaggio box va bene se clicco "si" mi incarbuglia un po il foglio "riep"
dove sbaglio?
stesso errore me lo fa sostituendo la riga
Application.EnableEvents = False
con
Application.EnableEvents = True
prima di
Set wb = Nothing

ti allego il file
excel 2003
Post: 657
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
15/02/2018 23:31

In caso di non necessità della gestione degli eventi s'è sempre detto che prima vanno disabilitati e poi riabilitati, pertanto, prima si mette un "False" e poi si mette "True". Per quale motivo hai avuto un dubbio nel gestire la macro ?

Per quanto riguarda il foglio Riep se analizzi la macro noterai che l'unica operazione che viene effettuata durante la pulizia in questo foglio è inserire uno "0" nelle celle Range("C2,C3,C4,C5,C7"); per quale motivo affermi "se clicco "si" mi incarbuglia un po il foglio "riep"" !! Al massimo può solo essere un problema grafico e questo succede quando durante l'esecuzione di una macro viene aggiornato spesso il display (inutilmente), pertanto, mettici all'inizio della Macro1 un Application.ScreenUpdating = False e poi alla fine un Application.ScreenUpdating = True .
[Modificato da rollis13 18/02/2018 15:58]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 211
Registrato il: 02/04/2010
Città: MILANO
Età: 54
Utente Junior
2002
OFFLINE
18/02/2018 14:53

ok sembra andare bene.
grazie
excel 2003
Post: 261
Registrato il: 02/04/2010
Città: MILANO
Età: 54
Utente Junior
2002
OFFLINE
20/06/2020 09:23

riprendo questa discussione per vedere se qualcuno mi aiuta a fare un codice.
Mi dovrebbe comparire un messaggio box se nella colonna J14:J52 viene scritto un numero diverso da 2,4,7,29 e 30 quando in corrispondenza della colonna A14:A52 la cella non è colorata.
grazie
excel 2003
Post: 5.958
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
21/06/2020 09:46

Ciao trittico meglio aprire una nuova discussione e fare riferimento a questa.

spiegando cosa si deve fare con qualche esempio anche manuale.

vedono una discussione vecchia e viene tralasciata

Ciao By Sal [SM=x423051]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 2 3 4 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 10:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com