Visual Basic for Applications ( VBA ) er et programmeringssprog designet til Microsoft Office-programmer , såsom PowerPoint, Word og Excel. Det giver dig mulighed for at oprette brugerdefinerede værktøjer , knapper og menuer , som du kan bruge til at tilpasse dine Office-programmer. For eksempel er der ikke et værktøj i Excel, som giver dig mulighed for at sammenligne kolonner og belyse forskellene . Men med nogle VBA-kode , kan du oprette et nyttigt værktøj til netop dette formål. Ting du skal
Excel 2007 eller Excel 2010
Vis Flere Instruktioner
1
Klik på "Udvikler "-fanen i Excel, og klik derefter på "Visual Basic ". < br >
2
Klik på " Indsæt ". Klik på " Modul " for at åbne et nyt modul vindue
3
klippe og indsætte følgende kode i vinduet : .
Sub CompareColumns ()
Dim Kolonne1 Som Range
Dim COLUMN2 Som Range
' Spørg brugeren for den første kolonne udvalg at sammenligne ...
' ---------- ------------------------------------------
Set Kolonne1 = Application.InputBox ( "Select første kolonne at sammenligne " , Type: = 8)
' Kontroller, at det område , de har givet kun består af 1 søjle ...
p Hvis Column1.Columns . Count > 1 Så
Må Indtil Column1.Columns.Count = 1
MsgBox " Du kan kun vælge 1 kolonne "
Set Kolonne1 = Application.InputBox ( " Vælg første kolonne at sammenligne " , Type: = 8)
Loop
End If
' Spørg brugeren for den anden kolonne udvalg at sammenligne ...
< p > ' ----------------------------------------------- -----
Set COLUMN2 = Application.InputBox ( "Vælg anden kolonne at sammenligne " , Type: = 8)
' Kontroller, at det område , de har givet kun består af 1 kolonne ...
Hvis Column2.Columns.Count > 1 Så
Gør Indtil Column2.Columns.Count = 1
MsgBox " Du kan kun vælge 1 kolonnen" < br >
Set COLUMN2 = Application.InputBox ( "Vælg anden kolonne at sammenligne " , Type: = 8)
Loop
End If
' Check både kolonne intervaller er samme størrelse ...
' ----------------------------------- ----------
Hvis Column2.Rows.Count < > Column1.Rows.Count Så
Gør Indtil Column2.Rows.Count = Column1.Rows . Grev
MsgBox " den anden kolonne skal være den samme størrelse som den første "
Set COLUMN2 = Application.InputBox ( "Vælg anden kolonne at sammenligne " , Type: = 8)
Loop
End If
»Hvis hele kolonner er valgt (f.eks $ AA) , begrænse række størrelser til Home
' UsedRange af det aktive ark. Dette forhindrer rutinemæssig kontrol af hele Column1.Rows.Count = 65536 Så
Set Kolonne1 = Range ( Column1.Cells (1), Column1.Cells ( ActiveSheet.UsedRange.Rows.Count ) )
Set COLUMN2 = Range ( Column2.Cells (1), Column2.Cells ( ActiveSheet.UsedRange.Rows.Count ) )
End If
Perform sammenligning og sæt celler, der er det samme for gul
' ---------------------------------------------- ------------------
Dim intCell As Long
intCell = 1 til Column1.Rows.Count
Hvis Column1.Cells ( intCell ) = Column2.Cells ( intCell ), så
Column1.Cells ( intCell ) . Interior.Color = vbYellow
Column2.Cells ( intCell ) . Interior.Color = vbYellow
End If
Næste
End Sub
4
Tryk på " F5 " for at køre rutine og sammenligne søjlerne.