Pagina 1 di 1
Confronto file
Inviato: giovedì 11 febbraio 2021, 16:15
da mapa3n
Ho due file contenenti nella prima colonna un numero identificativo, nel primo file ci sono 350 record mentre nel secondo ce ne sono 222: vorrei sapere se nel primo file sono compresi tutti i 222 record del secondo file (e, in caso affermativo, quali sono), come posso fare?
Ps L’ordine non è uguale…
Re: Confronto file
Inviato: giovedì 11 febbraio 2021, 18:11
da patel
fai un ciclo sui valori del primo file, per ogni valore fai un find nel range dei valori del secondo, se il find riesce fai un contrassegno nella cella accanto al valore cercato.
Se puoi copia la colonna del secondo accanto a quella del primo, è più agevole lavorare con un solo file ed un solo foglio.
Re: Confronto file
Inviato: giovedì 11 febbraio 2021, 20:59
da mapa3n
...potresti gentilmente fare un esempio?
Re: Confronto file
Inviato: giovedì 11 febbraio 2021, 22:59
da patel
Ammettiamo di avere i dati nel foglio1 in col A quelli del file1 e in col B quelli del file2, prova questa macro modificando i valori Lr1 e Lr2
Codice: Seleziona tutto
Sub confronta
Sh = ThisComponent.Sheets(0)
LR1 = 11 ' ultima riga colonna A
LR2 = 5 ' ultima riga colonna B
oRange = Sh.getCellRangeByName("B1:B" & LR2)
for r=0 to LR1 - 1
ean = Sh.GetCellByPosition(0, r).String
oFoundCell = SimpleSheetSearch(ean, oRange)
if not IsNull(oFoundCell) then
Sh.GetCellByPosition(0, r).CellBackColor = rgb (0,255,0)
end if
next
End Sub
Function SimpleSheetSearch(sString, oRange) As Variant
Dim oDescriptor
Dim oFound
REM Create a descriptor from a searchable document.
oDescriptor = oRange.createSearchDescriptor()
With oDescriptor
.SearchString = sString
.SearchWords = False
.SearchCaseSensitive = False
End With
oFound = oRange.findFirst(oDescriptor)
SimpleSheetSearch = oFound
End Function