Visual Basic Application (VBA ) es el lenguaje de programación que Excel incorpora en su editor de macros. El editor de Macro VBE ( Editor de Visual Basic ) en Microsoft Excel permite a los usuarios escribir programas simples para automatizar tareas repetitivas . Aquí vamos a escribir una macro VBA que duplicar los datos en una hoja de cálculo , ordenarla en una matriz multidimensional y escribirla en una nueva hoja de trabajo. Este proceso es útil cuando se necesita una hoja de cálculo ordenados , pero el , hoja de cálculo original no clasificada debe permanecer intacta . Instrucciones
1
lanzamiento Excel haciendo clic en " Inicio", " Microsoft Office Suite ", " Excel ".
2
Inicie el Editor de Visual Basic (VBE ) pulsando " ALT "y " F11 " al mismo tiempo.
3
Escribe el proceso para copiar una hoja de cálculo en una matriz multidimensional. Seleccione el siguiente código y copiarlo en el VBE :
Sub Read_Into_Array ()
Dim arrData () As Variant
ColACount Dim As Long Dim
i As Long
ColACount = Rango ( Range (" A1") , Range (" A" y Rows.Count ) . End ( xlUp ) ) . conde
ReDim arrData ( 1 A ColACount , 1 a 2 )
For i = 1 To ColACount
arrData (i, 1 ) = Range (" A" + i) . Valor
arrData ( i, 2 ) = Range (" B " & i ) . Valor
Siguiente I Love
End Sub
4
Ordenar la matriz con el VBA clase de burbuja proceso . Copia y pega el siguiente código debajo del código del paso anterior . Se ordenará la matriz bidimensional :
Sub Sort_Array ()
SortColumm1 = 0
SortColumn2 = 3
For i = LBound ( ArrayName , 1 ) Para UBound ( ArrayName , 1 ) - 1
para j = LBound ( ArrData , 1 ) Para UBound ( ArrData , 1 ) - 1
Condición1 = ArrData (j, SortColumn1 ) > ArrData ( j + 1 , SortColumn1 )
Condition2 = ArrData (j, SortColumn1 ) = ArrData ( j + 1 , SortColumn1 ) y _
ArrData (j, SortColumn2 ) > ArrData ( j + 1 , SortColumn2 )
Si Condición1 o Condition2 entonces
Para y = LBound ( ArrData , 2) UBound ( ArrData , 2 )
t = ArrData (j, y)
ArrData (j, y) = ArrData ( j + 1 , y)
ArrayName ( j + 1 , y) = t
Siguiente y
End If
Siguiente
Siguiente
End Sub
5
Crear la nueva hoja de cálculo que contiene los datos ordenados . Copia y pega el siguiente código debajo del código de la lista hasta el momento :
Sub New_Worksheet ()
WS dévil como hoja
Set WS = Sheets.Add
< p > End Sub
6
Copiar la matriz a la nueva hoja de cálculo . Copia y pega el siguiente código debajo del código creado anteriormente :
Sub Copy_Array ()
[ a1] Resize ( UBound ( myArr ) , UBound ( Application.Transpose ( myArr ))) = . myArr
End Sub
7
guardar la macro . Haga clic en " Archivo", " Guardar ", darle un nombre y haga clic en " Guardar".
8
ejecutar la macro . Abra una hoja de cálculo que desea copiar y ordenar . Haga clic en " Herramientas ", " Macros ", seleccione la macro que acaba de crear . Aparecerá la nueva hoja de cálculo y rellenar de forma automática.