aetio ha scritto:Ciao,
non riesco a capire il motivo per cui se la macro
Sub Monitor_Magazzino12()
With Sheets("MON.12")
Set Rng2 = .Range("J4", Range("J" & Rows.Count).End(xlUp))
End With
With Sheets("RIEPILOGO")
Set Rng = .Range("M25:Q25")
End With
For Each cl In Rng
For Each cl2 In Rng2
If cl.Value = cl2.Value Then
cl.Interior.ColorIndex = 3
cl2.Interior.ColorIndex = 3
End If
Next cl2
Next cl
Set Rng = Nothing
Set Rng2 = Nothing
End Sub
gira correttamente (la lancio dal foglio MON.12 e leggo in foglio RIEPILOGO)
la sua speculare
Sub Monitor_Magazzino12_2()
With Sheets("RIEPILOGO")
Set Rng = .Range("M25:Q25")
End With
With Sheets("MON.12")
Set Rng2 = .Range("J4", Range("J" & Rows.Count).End(xlUp))
End With
For Each cl In Rng
For Each cl2 In Rng2
If cl.Value = cl2.Value Then
cl.Interior.ColorIndex = 3
cl2.Interior.ColorIndex = 3
End If
Next cl2
Next cl
Set Rng = Nothing
Set Rng2 = Nothing
End Sub
(la lancio dal foglio RIEPILOGO e dovrei leggere in foglio MON.12 )
restituisce un Errore di run-time '1004' - Errore definito dall'applicazione o dall'oggetto...
Ho solo invertito i Range di riferimento...
Grazie assai e buona giornata
eZio
salve
l'errore occorre perchè il (.) nell'istruzione With non è di poco conto.
supponendo che tu lanci la nacro dal foglio Riepilogo nell'esecuzione delle righe che seguono:
With Sheets("MON.12")
Set Rng2 = .Range("J4", Range("J" & Rows.Count).End(xlUp))
succede questo:
Rng2 prende la cella J4 del foglio MON.12
e l'ultima riga di colonna J del foglio attivo "Riepilogo" Da qui l'errore.
modificando l'istruzione in
Set Rng2 = .Range("J4", .Range("J" & Rows.Count).End(xlUp))
Funziona.
Correggi entrambe le macro che hai postato, in tutte e due c'è lo stesso errore.
saluti
GiaP