Visual Basic Application ( VBA ) er programmeringsspråket som Excel inkorporerer i sin Macro redaktør . VBE ( Visual Basic-redigering ) Macro redaktør i Microsoft Excel tillater brukere å skrive enkle programmer som automatiserer overflødige oppgaver. Her vil vi skrive en VBA Macro som vil duplisere data i et regneark , sortere det i en flerdimensjonal array og skrive den til en ny jobb ark . Denne prosessen er nyttig når en sortert regneark er nødvendig, men den opprinnelige , usortert regneark må forbli intakt . Instruksjoner
en
Launch Excel ved å klikke på " Start", " Microsoft Office Suite ", " Excel ".
2
Start Visual Basic-redigering ( VBE ) ved å trykke " ALT "og" F11 "samtidig .
3
Skriv prosessen for å kopiere et regneark i en flerdimensjonal array . Velg følgende kode og kopiere den inn i VBE : en
Sub Read_Into_Array ( )
Dim arrData ( ) As Variant
Dim ColACount Som Long
Dim jeg så lenge
ColACount = Range ( Range (" A1 ") , Range (" A" & Rows.Count ) . End ( xlUp ) ) . Count
ReDim arrData ( 1 til ColACount , 1 til 2)
For i = 1 To ColACount
arrData (i, 1 ) = Range (" A" & i) . Verdi
arrData ( i, 2 ) = Range (" B " & i) . Verdi
Neste i
End Sub
4
Sorter rekken med VBA Bubble Sorter prosess . Kopier og lim inn følgende kode under koden fra forrige trinn . Det vil sortere todimensjonal matrise:
Sub Sort_Array ( )
SortColumm1 = 0
SortColumn2 = 3
For i = LBound ( ArrayName , en ) Til UBound ( ArrayName , 1 ) - en
For j = LBound ( ArrData , 1) For å UBound ( ArrData , 1 ) - en
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 deretter
For y = LBound ( ArrData , 2) Å UBound ( ArrData , 2)
t = ArrData ( j , y )
ArrData ( j , y ) = ArrData ( j + 1 , y )
ArrayName ( j + 1 , y ) = t
Neste y
End If
Neste
Neste
End Sub
5
Opprett den nye regneark som skal inneholde sortert data . Kopier og lim inn følgende kode under koden oppført så langt : en
Sub New_Worksheet ( )
Dim WS som regneark
Set WS = Sheets.Add
< p > End Sub
6
Kopier array til det nye regnearket . Kopier og lim inn følgende kode under koden opprettet ovenfor : en
Sub Copy_Array ( )
[ a1 ] Resize ( UBound ( MyArr ) , UBound ( Application.Transpose ( MyArr ) ) ) = . MyArr
End Sub
7
Lagre makro. Klikk på "File ", " Lagre ", gi det et navn og klikk "Lagre".
8
Kjør makro. Åpne et regneark som du ønsker å kopiere og sortere . Klikk på " Verktøy ", " makroer ", velg makroen du nettopp opprettet . Det nye regnearket vises og fylle automatisk.