Visual Basic Application ( VBA ) er det programmeringssprog, som Excel indarbejder i sin Macro editor. VBE ( Visual Basic Editor ) Makro editor i Microsoft Excel giver brugerne mulighed for at skrive simple programmer , der automatiserer redundante opgaver. Her vil vi skrive en VBA makro , der vil duplikere data i et regneark , sortere det i en flerdimensional array og skrive det til en ny arbejdsplan ark. Denne proces er nyttig, når en ordnet regnearket er nødvendig , men den oprindelige , usorteret regneark skal forblive intakt . Instruktioner
1
Launch Excel ved at klikke på " Start", " Microsoft Office Suite ", " Excel ".
2
Start Visual Basic Editor ( VBE ) ved at trykke på " ALT "og" F11 " samtidigt.
3
Skriv processen for at kopiere et regneark i en multidimensional array. Vælg følgende kode og kopiere det ind i VBE : Hej
Sub Read_Into_Array ()
Dim arrData () Som Variant
Dim ColACount As Long
Dim jeg As Long
ColACount = Range ( Range (" A1" ) , Range (" A " & Rækker ) . End ( xlUp ) ) . Count
ReDim arrData (1 til ColACount , 1 Til 2)
For i = 1 For at ColACount
arrData (i , 1) = Range (" A" & I) . Value
arrData ( i, 2) = Range (" B " & i). Value
Næste jeg
End Sub
4
Sorter array med VBA Bubble Sort proces . Kopier og indsæt følgende kode under koden fra det foregående trin. Det vil sortere de to dimensionelle array : Hej
Sub Sort_Array ()
SortColumm1 = 0
SortColumn2 = 3 fotos
For i = LBound ( ArrayName , 1. ) Til UBound ( ArrayName , 1 ) - 1
j = LBound ( ArrData , 1) At UBound ( ArrData , 1 ) - 1
Condition1 = ArrData ( j, SortColumn1 ) > ArrData ( j + 1 , SortColumn1 )
Condition2 = ArrData ( j, SortColumn1 ) = ArrData ( j + 1 , SortColumn1 ), og _
ArrData ( j, SortColumn2 ) > ArrData ( j + 1 , SortColumn2 )
p Hvis Condition1 eller Condition2 derefter
y = LBound ( ArrData , 2) At UBound ( ArrData , 2)
t = ArrData ( j, y)
ArrData ( j, y) = ArrData ( j + 1 , y)
ArrayName ( j + 1 , y) = t
Næste y
End If
Next
Next
End Sub
5
Opret nyt regneark , der skal indeholde de sorterede data. Kopier og indsæt følgende kode under koden opført hidtil : Hej
Sub New_Worksheet ()
Dim vrangen Regneark
Set WS = Sheets.Add
< p > End Sub
6
Kopier array til det nye regneark. Kopier og indsæt følgende kode under koden blev oprettet ovenfor : Hej
Sub Copy_Array ()
[ a1 ] Resize ( UBound ( MyArr ) , UBound ( Application.Transpose ( MyArr ))) = . MyArr
End Sub
7
Gem makro. Klik på " File ", " Gem" give det et navn, og klik på " Gem".
8
Kør makro. Åbn et regneark , som du gerne vil kopiere og sortere . Klik på " Funktioner ", " makroer ", vælge den makro, du lige har oprettet. Den nye regneark vises, og befolke automatisk.