Visual Basic-Anwendung (VBA) ist die Programmiersprache , die Excel integriert in seine Makro -Editor. Der VBE (Visual Basic Editor ) Makro -Editor in Microsoft Excel ermöglicht es Benutzern, einfache Programme , die redundante Aufgaben automatisieren schreiben. Hier schreiben wir ein VBA-Makro , die Daten in einem Arbeitsblatt duplizieren , sortieren sie in einem mehrdimensionalen Array und schreibt sie in einem neuen Arbeitsblatt . Dieses Verfahren ist nützlich, wenn ein Arbeitsblatt sortiert ist notwendig, aber das Original, unsortiert Arbeitsblatt müssen intakt bleiben . Anleitung
1
starten Excel , indem Sie auf " Start", " Microsoft Office Suite ", " Excel".
2
Starten Sie den Visual Basic-Editor (VBE ), indem Sie " ALT "und" F11 "gleichzeitig .
3
schreiben Sie den Prozess zum Kopieren ein Arbeitsblatt in ein mehrdimensionales Array. Wählen Sie den folgenden Code, und kopieren Sie sie in die VBE :
Sub Read_Into_Array () Dim
arrData () As Variant Dim
ColACount As Long Dim
i As Long
ColACount = Range ( Range (" A1") , Range (" A" & Rows.Count ) . End ( xlUp ) ) . Graf
ReDim arrData (1 bis ColACount , 1 bis 2)
For i = 1 To
arrData (i, 1) = Reichweite ColACount ("A" & i ) . Wert
arrData ( i , 2) = Range ( "B" & i ) . Wert
Next i End Sub
4
sortieren das Array mit der VBA Bubble Sort Prozess . Kopieren Sie den folgenden Code unter dem Code aus dem vorherigen Schritt . Es wird sortiert die zweidimensionale Anordnung :
Sub sort_array ()
SortColumm1 = 0
SortColumn2 = 3
Für i = LBound ( ArrayName , 1 ) To UBound ( ArrayName , 1) - 1
Für j = LBound ( arrData , 1 ) To UBound ( arrData , 1) - 1
Condition1 = arrData (j, SortColumn1 ) > arrData ( j + 1 , SortColumn1 )
Condition2 = arrData (j, SortColumn1 ) = arrData ( j + 1 , SortColumn1 ) und _
arrData (j, SortColumn2 ) > arrData ( j + 1 , SortColumn2 )
Wenn Condition1 oder Condition2 dann
Für y = LBound ( arrData , 2 ) To UBound ( arrData , 2)
t = arrData (j, y)
arrData (j, y) = arrData ( j + 1 , y)
ArrayName ( j + 1 , y) = t
Next y
End If Next
Weiter
End Sub
5
die neue Tabelle, die die sortierten Daten enthalten erstellen . Kopieren Sie den folgenden Code unter dem Code aufgeführt bisher :
Sub New_Worksheet ()
Dim WS As Worksheet
Set WS = Sheets.Add
< p > End Sub
6
Kopieren Sie die Array in das neue Arbeitsblatt. Kopieren Sie den folgenden Code unter dem Code oben erstellt :
Sub Copy_Array ()
[ a1 ] Resize ( UBound ( myArr ) , UBound ( Application.Transpose ( myArr ))) = . myArr
End Sub
7
Speichern Sie das Makro . Klicken Sie auf " Datei", " Speichern ", geben Sie einen Namen und klicken Sie auf " Speichern".
8
Führen Sie das Makro . Öffnen Sie ein Arbeitsblatt, das Sie kopieren möchten und sortieren. Klicke auf "Extras ", " Makros", wählen Sie das Makro, das Sie gerade erstellt haben. Das neue Arbeitsblatt wird angezeigt und automatisch füllen .