Visual Basic for Applications ( VBA ) är ett programmeringsspråk utformat för Microsoft Office-program , t.ex. PowerPoint , Word och Excel . Det låter dig skapa egna verktyg , knappar och menyer som du kan använda för att anpassa dina Office-program . Till exempel , det finns inte ett verktyg i Excel som gör att du kan jämföra kolumner och markera skillnaderna . Men med lite VBA -kod , kan du skapa ett användbart verktyg för just detta ändamål . Saker du behöver
Excel 2007 eller Excel 2010
Visa fler instruktioner
1
Klicka på " Utvecklare " fliken i Excel , och klicka sedan på " Visual Basic . "
Sida 2
Klicka på " Infoga ". Klicka på " modul " för att öppna ett nytt modulfönstret
3
Klipp och klistra in följande kod i fönstret : .
Sub CompareColumns ( ) katalog
Dim Kolumn1 som Range
Dim Kolumn2 som Range
" Fråga användaren för första kolumn att jämföra ...
" ---------- ------------------------------------------
Set Kolumn1 = Application.InputBox ( " Välj första kolumnen för att jämföra " , Type : = 8 ) katalog
" Kontrollera att området de gett består av endast en kolumn ...
p Om Column1.Columns . Count > 1 Sen
göra tills Column1.Columns.Count = 1
MsgBox " Du kan bara välja en kolumn "
Set Kolumn1 = Application.InputBox ( " Välj första kolumnen för att jämföra " , Type : = 8 ) katalog
Loop
End If
" Fråga användaren för andra kolumn att jämföra ...
' ----------------------------------------------- -----
Set Kolumn2 = Application.InputBox ( " Select Second kolumn att jämföra " , Type : = 8 ) katalog
" Kontrollera att området de gett består av endast en kolumn ...
Om Column2.Columns.Count > 1 Sen
göra tills Column2.Columns.Count = 1
MsgBox " Du kan bara välja en kolumn "
Set Kolumn2 = Application.InputBox ( " Select Second kolumn att jämföra " , Type : = 8 ) katalog
Loop
End If
" Check både kolumnen intervall har samma storlek ...
' ----------------------------------- ----------
Om Column2.Rows.Count < > Column1.Rows.Count Sen
göra tills Column2.Rows.Count = Column1.Rows . räkna
MsgBox " den andra kolumnen måste vara av samma storlek som den första "
Set Kolumn2 = Application.InputBox ( " Select Second kolumn att jämföra " , Type : = 8 ) katalog
Loop
End If
" Om hela kolumner har valts ( t.ex. $ AA ) , begränsa förpackningsstorlekarna till
" UsedRange av det aktiva bladet . Detta stoppar rutin kontroll av hela Column1.Rows.Count = 65536 Sedan
Set Kolumn1 = Range ( Column1.Cells ( 1 ) , Column1.Cells ( ActiveSheet.UsedRange.Rows.Count ) ) katalog
Set Kolumn2 = Range ( Column2.Cells ( 1 ) , Column2.Cells ( ActiveSheet.UsedRange.Rows.Count ) ) katalog
End If
"göra jämförelse och uppsättning celler som är samma till gult
' ---------------------------------------------- ------------------
Dim intCell As Long
För intCell = 1 att Column1.Rows.Count
Om Column1.Cells ( intCell ) = Column2.Cells ( intCell ) THEN
Column1.Cells ( intCell ) . Interior.Color = vbYellow
Column2.Cells ( intCell ) . Interior.Color = vbYellow
End If
Nästa
End Sub
4
Tryck " F5 " för att köra rutin och jämföra kolumnerna .
Addera ditt