Visual Basic Application (VBA) est le langage de programmation qui Excel incorpore dans son éditeur de macros. Le VBE (Visual Basic Editor) éditeur de macro dans Microsoft Excel permet aux utilisateurs d`écrire des programmes simples qui permettent d`automatiser les tâches redondantes. Ici, nous allons écrire une macro VBA qui dupliquer les données dans une feuille de calcul, le tri dans un tableau multidimensionnel et l`écrire dans une nouvelle feuille de travail. Ce processus est utile quand une feuille de calcul triée est nécessaire, mais la, feuille de calcul originale unsorted doit rester intact.
Lancez Excel en cliquant "Démarrer," "Microsoft Office Suite," "Exceller."
Lancez l`éditeur Visual Basic (VBE) en appuyant sur "ALT" et "F11" en même temps.
Ecrire le processus de copie d`une feuille de calcul dans un tableau multidimensionnel. Sélectionnez le code suivant et le copier dans le VBE:
Sous Read_Into_Array ()
Dim arrData () As Variant
Dim ColACount As Long
Dim i As Long
ColACount = Range (Gamme ("A1"), Gamme("UNE" & Rows.Count) .End (xlUp)). Count
ReDim arrData (1 à ColACount, 1 à 2)
Pour i = 1 à ColACount
arrData (i, 1) = Range ("UNE" &Amp i) .Value
arrData (i, 2) = Range ("B" &Amp i) .Value
Ensuite je
End Sub
Trier le tableau avec la Bulle Trier processus VBA. Copiez et collez le code suivant sous le code de l`étape précédente. Il va trier le tableau à deux dimensions:
Sous Sort_Array ()
SortColumm1 = 0
SortColumn2 = 3
Pour i = LBound (ArrayName, 1) Pour UBound (ArrayName, 1) - 1
Pour j = LBound (ArrData, 1) Pour UBound (ArrData, 1) - 1
Condition1 = ArrData (j, SortColumn1) gt; ArrData (j + 1, SortColumn1)
ArrData condition2 = (j, SortColumn1) = ArrData (j + 1, SortColumn1) _ et
ArrData (j, SortColumn2) gt; ArrData (j + 1, SortColumn2)
Si Condition1 ou Condition2 puis
Pour y = LBound (ArrData, 2) Pour UBound (ArrData, 2)
t = ArrData (j, y)
ArrData (j, y) = ArrData (j + 1, y)
ArrayName (j + 1, y) = t
Suivant y
Fin si
Prochain
Prochain
End Sub
Créer la nouvelle feuille de calcul qui contiendra les données triées. Copiez et collez le code suivant sous le code répertorié jusqu`à présent:
Sous New_Worksheet ()
WS Dim comme feuille de travail
Set WS = Sheets.Add
End Sub
Copiez le tableau à la nouvelle feuille de calcul. Copiez et collez le code suivant sous le code créé ci-dessus:
Sous Copy_Array ()
[A1] .Resize (UBound (MonTab), UBound (Application.Transpose (MonTab))) = MonTab
End Sub
Enregistrez la macro. Cliquez "Fichier," "Sauvegarder," lui donner un nom et cliquez sur "Sauvegarder."
Exécutez la macro. Ouvrez une feuille de calcul que vous souhaitez copier et trier. Cliquez "Outils," "Macros," sélectionnez la macro que vous venez de créer. La nouvelle feuille de calcul apparaît et remplir automatiquement.
Conseils & Avertissements
- Le code d`exemple ici va trier le tableau dans l`ordre croissant (a-z, 0-9) Pour inverser l`ordre de la sorte, changer la "gt;" dans les cinquième et septième lignes de l`étape quatre à "lt;".