Mastodon

Hai necessità di confrontare due fogli di Microsoft Excel e visualizzare evidenziate le differenze cella per cella?

Questo metodo ti permette di aggiungere in Microsoft Excel una macro che ti consente di confrontare due fogli cella per cella e restituirti nel secondo foglio sia il numero di differenze trovate sia evidenziarti le celle in cui i valori sono differenti rispetto al primo. Vediamo come:

Dovendo lavorare in ambiente VBA apriamo la relativa finestra.

In Excel XP o 2003
Menù Strumenti – Macro – Visual Basic Editor

In Excel 2007
Bottone di Office – Pulsante Opzioni di Excel – Impostazioni generali – Opzione Mostra scheda Sviluppo sulla barra multifunzione
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic

In Excel 2010/2013
Scheda File – Opzioni – Personalizzazione barra multifunzione – Selezionare Sviluppo nella sezione Schede principali
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic

Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) quindi copiare il codice riportato qui sotto:

Sub RunCompare()

Call compareSheets(InputBox("Type name of first sheet"), InputBox("Type name of second sheet"))

End Sub

Sub compareSheets(shtSheet1 As String, shtSheet2 As String)

Dim myCell As Range
Dim mydiffs As Integer

'For each cell in sheet2 that is not the same in Sheet1, color it yellow
For Each myCell In ActiveWorkbook.Worksheets(shtSheet2).UsedRange
If Not myCell.Value = ActiveWorkbook.Worksheets(shtSheet1).Cells(myCell.Row, myCell.Column).Value Then

myCell.Interior.Color = vbYellow
mydiffs = mydiffs + 1

End If
Next

'Display a message box to demonstrate the differences
MsgBox mydiffs & " differences found", vbInformation

ActiveWorkbook.Sheets(shtSheet2).Select

End Sub

Chiudere la finestra di Visual Basic.

Nella scheda Visualizza o nella Scheda Sviluppo cliccare sul pulsante Macro e lanciare la Macro RunCompare; inserendo quindi i nomi dei due fogli, quando richiesto, verrà visualizzato il numero di celle che nel secondo foglio sono differenti rispetto al primo e contemporaneamente le stesse verranno evidenziate in giallo.

Infine se tu stai utilizzando Excel 2013 invece di seguire questo metodo potresti utilizzare la procedura che ho descritto qui.

Buon lavoro!

Le regole sulle piste da sci per sciare in sicurezza
Rosario Sanfilippo - Architetture sulle rive del Ceresio
Translate »