VBA: accesos directos para el editor de Visual Basic

Este tutorial le mostrará una variedad de atajos realmente útiles en VBA

Use Alt + F11 para abrir el VBE

Por lo general, para acceder al Editor de Visual Basic, debe hacer clic en el botón Visual Basic en la cinta de Excel. Sin embargo, puede presionar Alt + F11 ¡en lugar de!

Teclas rápidas en el VBE

Ctl + r- muestra el Explorador de proyectos.

Ctl + g - muestra el Ventana inmediata.

F4 - muestra el Ventana Propiedades.

F2 - muestra el Explorador de objetos.

F5 - ejecuta el Procedimiento estás dentro.

F8 - le permite recorrer el código en Rotura modo.

Grabar una macro

Una de las mejores formas de aprender VBA es grabar una macro y luego analizar el código. También es una forma muy rápida de escribir código, pero la grabadora registrará CADA pulsación de tecla, por lo que es posible que deba editar su código para eliminar las líneas redundantes.

Examinemos la siguiente macro grabada por la grabadora de macros y veamos cómo podemos hacerla más eficiente.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''TestFormat Macro''Atajo de teclado: Ctrl + Shift + T'ActiveCell.FormulaR1C1 = "Manzana"Rango ("D3"). SeleccionarActiveCell.FormulaR1C1 = "Peras"Rango ("E3"). SeleccioneActiveCell.FormulaR1C1 = "Melocotones"Rango ("C4"). SeleccionarActiveCell.FormulaR1C1 = "12"Rango ("D4"). SeleccionarActiveCell.FormulaR1C1 = "14"Rango ("E4"). SeleccionarActiveCell.FormulaR1C1 = "16"Rango ("C5"). SeleccionarActiveCell.FormulaR1C1 = "20"Rango ("D5"). SeleccionarActiveCell.FormulaR1C1 = "25"Rango ("E5"). SeleccionarActiveCell.FormulaR1C1 = "26"Rango ("C6: E6"). SeleccionarRango ("E6"). ActivarSelection.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Borders (xlDiagonalDown) .LineStyle = xlNoneSelection.Borders (xlDiagonalUp) .LineStyle = xlNoneSelection.Borders (xlEdgeLeft) .LineStyle = xlNoneCon Selection.Borders (xlEdgeTop).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Peso = xldelgadoTerminar conCon Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Peso = xlEspesorTerminar conSelection.Borders (xlEdgeRight) .LineStyle = xlNoneSelection.Borders (xlInsideVertical) .LineStyle = xlNoneSelection.Borders (xlInsideHorizontal) .LineStyle = xlNoneRango ("C4: E6"). SeleccionarSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Rango ("C3: E3"). SeleccionarSelection.Font.Bold = TrueRango ("C3"). SeleccionarActiveCell.FormulaR1C1 = "Manzanas"End Sub

Ahora mire el código a continuación que logrará el mismo resultado

123456789101112131415161718192021 Sub TestFormat ()'Atajo de teclado: Ctrl + Shift + TRange ("C3") = "Manzanas"Range ("D3") = "Peras"Range ("E3") = "Melocotones"Rango ("C4") = 12Rango ("D4") = 14Rango ("C4") = 16Rango ("C5") = 20Rango ("D5") = 25Rango ("E5") = "26"Rango ("C6: E6"). SeleccionarSelection.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Borders (xlEdgeTop) .LineStyle = xlContinuousSelection.Borders (xlEdgeBottom) .LineStyle = xlDoubleRango ("C4: E6"). SeleccionarSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Rango ("C3: E3"). SeleccionarSelection.Font.Bold = TrueEnd Sub

Al eliminar una gran cantidad de código redundante y modificar el código grabado cuando sea posible, podemos hacer que la macro sea mucho más efectiva y fácil de leer.

Usar el libro de macros personales

Si desea que se pueda usar una macro en todos sus archivos de Excel, puede almacenar la macro en el libro de macros personal; este libro de trabajo está oculto y está abierto todo el tiempo en Excel, lo que hace que las macros almacenadas allí sean macros globales. .

Si no ve un libro de macros personal en su ventana de VBE, grabe una macro y especifique que se almacene en el libro de macros personales.

Código de sangría

Cuando aplica sangría a su código, inmediatamente lo hace más fácil de leer y para que alguien más lo siga. Para sangrar varias líneas de código, puede seleccionarlas y presionar la tecla Tab.

Del mismo modo, para anular la sangría del código, presione Mayús + Tabulador y el código se moverá nuevamente a la izquierda.

¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!

Código de comentario

Agregar comentarios a su código es otra forma de facilitar la lectura y la navegación. Agrega un comentario al código poniendo una comilla simple al principio de la línea como se muestra a continuación.

Escribir en minúsculas

VBA usa el caso apropiado en el código. Si escribe en minúsculas y no cambia al caso correcto, puede ver rápidamente dónde cometió un error.

Usando Intellisense

Intellisense aparece cuando está escribiendo código y le brinda una lista de todas las Propiedades, Métodos y Eventos que están disponibles para el objeto con el que está trabajando. Normalmente aparece automáticamente después de escribir un punto cuando está escribiendo su código.

También puede forzar que aparezca presionando Ctl + j.

De manera similar, cuando usa funciones en Excel que toman argumentos, estos normalmente aparecen automáticamente.

Puede obligarlos a aparecer presionando Ctl + i.

Autocompletar

Puedes usar el Ctl + Espacio combinación de teclas para utilizar la función de autocompletar al escribir código.

En el ejemplo anterior, todos los Propiedades, métodos, eventos y Variables empezando con str aparecerá en la lista para que pueda seleccionar.

Opción explícita y código de compilación

Asegurarse de tener Option Explicit en la parte superior de todos sus módulos garantiza que todas sus variables estén declaradas y evita que cometa errores ortográficos en los nombres de las variables. Si tiene Option Explicit activada y compila o ejecuta su código, obtendrá un error si no se reconoce el nombre de una variable.

La ventana inmediata y la depuración

La ventana inmediata (puede activarla usando Ctl + g) le permite depurar su código y encontrar el valor de las variables mientras se encuentra en este modo de depuración.

12345678 Variables de subprueba'declarar la variableDim strName como cadena'rellenar la variablestrName = "Anne Smith"'use F8 para recorrer el código y enviar el valor de la variable usando debug.print a la ventana inmediataDebug.Print strNameFin sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave