Visual Basic Applications (VBA ) is de programmeertaal die Excel opneemt in haar Macro editor. De VBE ( Visual Basic Editor ) Macro editor in Microsoft Excel kunnen gebruikers eenvoudig programma dat overbodige taken te automatiseren schrijven . Hier zullen we een VBA- macro die gegevens in een werkblad zal dupliceren , sorteren in een multidimensionale array en schrijf het naar een nieuw werk blad te schrijven . Dit proces is handig wanneer een gesorteerde werkblad nodig is, maar de oorspronkelijke , ongesorteerde werkblad moet intact blijven . Instructies 1 Launch Excel door te klikken op " Start", " Microsoft Office Suite ", " Excel . " Kopen van 2 Start de Visual Basic Editor ( VBE ) door te drukken " ALT " en " F11 " tegelijk . 3 Schrijf het proces voor het kopiëren van een werkblad in een multidimensionale array . Selecteer de volgende code en kopieer het in de VBE : Sub Read_Into_Array ( ) Dim arrData ( ) als Variant Dim ColACount zoals lang Dim i As Long ColACount = Range ( Range ( " A1 " ) , Range ( " A " & Rows.Count ) . End ( xlUp ) ) . Graaf ReDim arrData ( 1 To ColACount , 1 To 2 ) op For i = 1 To ColACount arrData ( i , 1 ) = Range ( " A " & i ) . Value arrData ( i , 2 ) = Range ( " B " & i ) . Value Next i End Sub 4 Sorteer de array met de VBA Bubble Sort proces . Kopieer en plak de volgende code onder de code van de vorige stap . Het zal de twee dimensionale array te sorteren : Sub Sort_Array ( ) SortColumm1 = 0 SortColumn2 = 3 Voor i = LBound ( arraynaam , 1 ) Om UBound ( arraynaam , 1 ) - 1 Voor j = LBound ( ArrData , 1 ) Om UBound ( ArrData , 1 ) - 1 Condition1 = ArrData ( j , SortColumn1 ) > ArrData ( j + 1 , SortColumn1 ) op Twitter voorwaarde2 = ArrData ( j , SortColumn1 ) = ArrData ( j + 1 , SortColumn1 ) en _ ArrData ( j , SortColumn2 ) > ArrData ( j + 1 , SortColumn2 ) op Twitter Als Condition1 of voorwaarde2 dan Voor y = LBound ( ArrData , 2 ) Om UBound ( ArrData , 2 ) op t = ArrData ( j , y ) ArrData ( j , y ) = ArrData ( j + 1 , y) arraynaam ( j + 1 , y ) = t Volgende y End If Volgende Volgende End Sub 5 Maak de nieuwe spreadsheet dat de gesorteerde gegevens zal bevatten . Kopieer en plak de volgende code onder de code tot nu toe genoteerd : Sub New_Worksheet ( ) op Dim WS als werkblad Set WS = Sheets.Add End Sub Copy 6 de array om de nieuwe werkblad . Kopieer en plak de volgende code onder de code hierboven aangemaakt : Sub Copy_Array ( ) [ a1 ] Resize ( UBound ( myArr ) , UBound ( Application.Transpose ( myArr ) ) ) = . myArr End Sub 7 Bespaar de Macro . Klik op ' Bestand ', ' Opslaan ', geef het een naam en klik op 'Opslaan'. 8 Voer de Macro . Open een werkblad dat u wilt kopiëren en te sorteren . Klik op 'Extra ', ' Macro's ', selecteert u de macro die u zojuist hebt gemaakt . De nieuwe werkblad verschijnt en automatisch te vullen .
|