| | 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 se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
|
|