“Conocimientos software>Microsoft Access

Excel Programming Tips

2011/12/9
El lenguaje de programación para Microsoft Excel , Visual Basic, le permite ampliar ya un amplio conjunto de herramientas de Excel. Sin embargo , la codificación directa en Visual Basic puede ser difícil porque algunas funciones (como la clasificación ) requieren establecer varios parámetros en un fashion.You exacto puede evitar la codificación manual por completo , dejando la grabadora de macros escribir el código para usted , pero esto no siempre net el resultado que buscan. La solución es combinar lo mejor de ambos mundos : el uso de macros para hacer la codificación a granel y un poco de codificación manual para terminar el trabajo . Ordenar una tabla pequeña

Utilizar Visual Basic para ordenar una mesa pequeña. Para comenzar, ingrese la siguiente tabla en células G8 a H11 en la Hoja 1 :

nombre del cliente, cuenta balanceZephyr Máquinas de viento , Escritorios 5Arondale , - 10Bubble Gumballs , 30

vez introducidos los datos , selecciónelo y empezar a grabar la macro ( desarrollador> Record macro ) . Nombre del MySort macro. Sort ( Datos> Ordenar de A a Z ) de los datos seleccionados en la primera columna , y detener la grabación de la macro .
Replay del Macro

Trate de usar la macro que recurrir un rango diferente : copiar y pegar la tabla de clientes a otra área de la hoja de cálculo y seleccione el nuevo rango. Repetir la macro ( desarrollador> Macros > MySort ) y observe el efecto : los datos no se ordenan . Busque el problema en el código de Visual Basic creado por la grabación de macros. Comience a navegar hacia el código: . Presione Alt- F8 , seleccione la macro MySort y haga clic en el botón Editar

Dentro de la función MySort , observe la siguiente declaración:
ActiveWorkbook.Worksheets

( "Sheet1 " . ) Clave Sort.SortFields.Add : = Range (" G-8 ") ...

Y una declaración unas pocas líneas después : .

SetRange Range ( " C9: D12 " )

Ambas declaraciones son la fuente del problema , sino que son las razones por las MySort no logra ordenar el rango seleccionado: el hard- coded de la gama Visual Basic macro registrador de datos ( " C9: D12 " y " G-8 " ) para ordenar . Su tarea es reemplazar los rangos codificados para que la macro ordenar la selección actual
Utilice la Selección propiedad

En concreto, el parámetro clave : . = Range ( " G-8 " ) le dice a Excel para ordenar la tabla de clientes sobre la base de la columna de "cliente " , que comienza en la celda G8. Para volver a colocar la columna "cliente " original con el interior del texto seleccionado , busque la propiedad Selection del objeto Application . Esta propiedad hace referencia al rango de celdas seleccionadas. Reemplace Clave: = Range (" G-8 ") con esto: Clave: = k. Usted define k en un momento

El siguiente rango no modificable para reemplazar ocurre algunas declaraciones abajo : . . SetRange Range (" G8: H11 ") . El método. SetRange indica a Excel toda la gama que desea ordenar . Reemplace SetRange Range ( " G8: H11 ") . Con esto: ". . SetRange r"

La variable r , como la variable k (ey) que acaba de escribir , vendrá de la propiedad Selection . Ir al inicio de la definición de la macro y escriba estas líneas :

Dim r , k como gama

Set r = k = Application.SelectionSet r.Columns ( 1 )
< p > la primera asignación Set define el rango de celdas necesarias para el método SetRange - . toda la selección. La segunda asignación establece el rango necesario para la clave de ordenación a la primera columna en la selección . Usted puede ordenar en la segunda columna , cambiando el " 1 " a " 2 . "
Probar la macro corregida

La corrección de código se haya completado. Prueba de que al volver a la hoja de cálculo , la selección de la tabla de clientes - donde quiera que lo colocó en la hoja - y corriendo MySort . Copie esta tabla a un nuevo conjunto de celdas , seleccione las celdas y ejecutar MySort en ellos de nuevo. Observe el tipo ahora funciona correctamente.

Microsoft Access
Cómo adjuntar gráficos a una celda en Excel 2007
Cómo hacer Juegos Excel
Cómo actualizar la hoja de cálculo Excel Links
Cómo combinar dos macros en Excel Macros
Las razones que están causando Funciones de tabla de Excel a Crash
Cómo agregar Meses a una hoja de cálculo Excel
Explicación de MS Excel VBA
Cómo encontrar el formato casillas de verificación estándar en Excel 2007
Conocimientos Informáticos © http://www.ordenador.online