“Conocimiento software>Microsoft Access

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

2016/6/14
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 abrir una hoja de cálculo de Excel en una página Web
¿Para qué se utilizan MS Power Point y Access?
Cómo abrir varios archivos CSV en una hoja de cálculo de Excel
Cómo encontrar células duplicados en Excel
Cómo utilizar Microsoft Excel 2010
¿Por qué es la opción Pegar en gris en Excel 2007
¿Cuáles son los pasos para construir una función Sum en Windows Excel
Cómo hacer una segunda línea en una celda en Microsoft Office Excel para Mac
Conocimiento de la computadora © http://www.ordenador.online