“Conocimientos software>Microsoft Access

Cómo duplicar datos y ordenar una matriz multidimensional de VBA en Excel

2014/12/27
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.

Microsoft Access
Cómo restaurar archivos anteriores de Excel
Cómo resaltar una celda adyacente en Excel
Cómo compartir la protección con contraseña y seguir los cambios en Excel
Cómo ejecutar una macro en Excel 2003
Cómo utilizar Excel para resolver ecuaciones lineales
Cómo utilizar Excel para calcular la demora entre dos puntos
Cómo importar una hoja de cálculo de Excel en un conjunto de datos SAS
¿Cómo puedo imprimir números de fila de la hoja de cálculo Excel
Conocimientos Informáticos © http://www.ordenador.online