Les partenaires publicitaires:

Comment dupliquer les données et trier un tableau multidimensionnel VBA dans Excel

Visual Basic Application (VBA) est le langage de programmation qui Excel intègre dans son éditeur de macro. La VBE (Visual Basic Editor) éditeur de macro dans Microsoft Excel permet aux utilisateurs d'écrire des programmes simples qui automatisent les tâches redondantes. Ici, nous allons écrire une macro VBA qui dupliquer les données dans une feuille de calcul, le tri d'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 non triés origine doit rester intacte.

Instructions

  1. Lancez Excel en cliquant "Démarrer," "Microsoft Office Suite," "Excel."

  2. Lancez l'éditeur Visual Basic (VBE) en appuyant sur "ALT" et "F11" simultanément.

  3. Ecrire le processus pour copier 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 = (Intervalle ("A1"), Gamme("UN" & Rows.Count) .End (xlUp)). Comptez

    ReDim arrData (1 Pour ColACount, 1 à 2)

    Pour i = 1 à ColACount

    arrData (i, 1) = Range ("UN" &Amp i) .Value

    arrData (i, 2) = Range ("B" &Amp i) .Value

    I Suivant

    End Sub



  4. Trier le tableau avec la bulle Trier processus VBA. Copiez et collez le code suivant ci-dessous 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)

    Condition2 ArrData = (j, SortColumn1) ArrData = (j + 1, SortColumn1) et _




    ArrData (j, SortColumn2) gt; ArrData (j + 1, SortColumn2)

    Si Condition1 ou alors Condition2

    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

    Suivant

    Suivant

    End Sub

  5. Créer la nouvelle feuille de calcul qui contiendra les données triées. Copiez et collez le code suivant sous le code indiqué jusqu'à présent:

    Sous New_Worksheet ()

    WS Dim comme feuille de calcul

    Réglez WS = Sheets.Add

    End Sub

  6. 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 (myarr), UBound (Application.Transpose (myarr))) = myarr

    End Sub

  7. Enregistrez la macro. Cliquez "Fichier," "Sauvegarder," lui donner un nom et cliquez sur "Sauvegarder."

  8. 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

  • L'exemple de code ici va trier le tableau par ordre croissant (az, 0-9) Pour inverser l'ordre de la sorte, changer le "gt;" dans les cinquième et septième lignes de l'étape quatre à "lt;".
» » » » Comment dupliquer les données et trier un tableau multidimensionnel VBA dans Excel