Ciao Norman. grazie come sempre per il tuo prezioso intervento.
Il numero dei codici mancanti può variare rispetto al mese precedente è può essere anche più di 1.
Io a dire il vero stavo impostando (ci provo perchè ho tanta voglia di imparare e fare da solo) il codice per la mia esigenza in questo modo scopiazzando qua e la in rete il codice che posto e che è anche frutto del grande Mauro Gamberini ( che saluto con
grande affetto estima), però mi sono bloccato su come analizzare il dato di colore diverso e visulizzarlo in un MSGBOX al fine di riconoscerlo codiec mancante.
Penso che sia macchinoso, ma ci volevo provare.
Con questo copio i dati per il confronto:
Public Sub m_1()
'dichiaro le variabili
Dim lRiga As Long
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim lng As Long
'metto un riferimento al Foglio1
Set sh1 = ThisWorkbook.Worksheets("Foglio1")
'creo un nuovo foglio che utilizzerò per incollare
'i dati univoci e metto un riferimento allo stesso
'Set sh2 = ThisWorkbook.Worksheets.Add
Set sh2 = ThisWorkbook.Worksheets("Foglio2")
'impedisco lo sfarfallio del monitor
Application.ScreenUpdating = False
With sh1
'trovo l'ultima riga con valori della colonna A
'del Foglio1
lRiga = .Range("B" & Rows.Count).End(xlUp).Row
'filtro la colonna A del Foglio1 in modo da
'avere valori univoci in colonna A del foglio di appoggio
.Range("B1:B" & lRiga).AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=sh2.Range("B1"), Unique:=True
'trovo l'ultima riga con valori della colonna A
'del foglio di appoggio
lRiga = sh2.Range("B" & sh2.Rows.Count).End(xlUp).Row
'ciclo la colonna A del foglio di appoggio e carico i valori
'nella ComboBox1
For lng = 2 To lRiga
UserForm1.ComboBox1.AddItem (sh2.Range("B" & lng).Value)
Next
'elimino il foglio di appoggio creato disbilitando la richiesta
'di conferma e ripristino l'aggiornamento del monitor
With Application
.DisplayAlerts = False
'sh2.Delete
.DisplayAlerts = True
End With
End With
'Set a Nothing delle variabili oggetto
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
con quest'altro evidenzio le differenze:
Sub Formattazione()
Dim n As Long, i As Long, LastRow As Long
Dim Foglio As Worksheet, Range1 As Range
Set Foglio = Sheets(1)
LastRow = Foglio.UsedRange.Rows.Count
With Foglio
Set Range1 = .Range("A1:B" & LastRow)
Range1.Interior.ColorIndex = xlNone
For i = 1 To LastRow
For n = 1 To LastRow
If .Cells(n, 2).Value = .Cells(i, 1).Value Then
.Cells(n, 2).Interior.ColorIndex = 3
.Cells(i, 1).Interior.ColorIndex = 6
End If
Next n
Next i
End With
Set Foglio = Nothing
Set Range1 = Nothing
End Sub
Ti ringrazio e ti saluto, attendo altre tue notizie Norman.