Come confrontare due righe in Excel utilizzando VBA
Confrontare i dati riga per riga manualmente può essere un processo noioso se fatto manualmente. Vi mostriamo come confrontare due righe in Excel utilizzando VBA e automatizzare questo processo.
VBA ha una funzione integrata chiamata StrComp che può confrontare due stringhe. Questa funzione restituisce un numero intero in base al risultato del confronto. Zero ‘ 0 ‘indica una corrispondenza perfetta e l’esempio di codice seguente evidenzia la cella se il risultato NON è uguale a’0’.
La funzione StrComp ottiene 3 argomenti: i primi 2 argomenti sono le stringhe da confrontare e l’ultimo è il tipo di confronto (opzionale). Se omesso, l’impostazione Confronta opzione determina il tipo di confronto. Di seguito sono riportate tutte le opzioni disponibili:
- vbUseCompareOption: Esegue un confronto utilizzando l’impostazione dell’istruzione Confronta opzione.
- vbBinaryCompare: esegue un confronto binario. Maiuscole.
- vbTextCompare: esegue un confronto testuale. Non maiuscole e minuscole.
- VBDATABASECONFRONTA: Esegue un confronto basato sulle informazioni nel database. Solo accesso Microsoft.
Il codice richiede all’utente di selezionare le righe in un singolo intervallo. L’intervallo selezionato viene assegnato a una variabile intervallo bothrows e ogni cella in tale intervallo viene confrontata colonna per colonna. Usando un’istruzione With, non dobbiamo ripetere bothrows per ogni riga, e Per loop Next loop è come possiamo controllare ogni cella.
Evidenziazione
Dopo aver ottenuto l’intervallo, è possibile utilizzare la proprietà ColorIndex per impostare l’intervallo di un colore. Ecco alcuni numeri di indice per i colori:
- 3: Rosso
- 5: Blu
- 6: Giallo
- 0: Nessun riempimento
Innanzitutto, è necessario aggiungere il modulo nella cartella di lavoro o nel file aggiuntivo. Copia e incolla il codice nel modulo per eseguirlo. Il vantaggio principale del metodo del modulo è che consente di salvare il codice nel file, in modo che possa essere utilizzato di nuovo in seguito. Inoltre, le subroutine nei moduli possono essere utilizzate dalle icone nei nastri del menu o dalle scorciatoie da tastiera. Ricordarsi di salvare il file in formato XLSM o XLAM per salvare il codice VBA.
Codice di esempio per evidenziare
Sub HighlightRowDifferences() Dim bothrows As Range, i As Integer Set bothrows = Selection With bothrows For i = 1 To .Columns.Count If Not StrComp(.Cells(1, i), .Cells(2, i), vbBinaryCompare) = 0 Then Range(.Cells(1, i), .Cells(2, i)).Interior.ColorIndex = 6 End If Next i End WithEnd Sub