Obtener código vba de la grabadora de macros de Excel y usarlo en tus proyectos

Como siempre he dicho “Si no sabes cómo hacerlo, usa la grabadora de macros”. Y precisamente este artículo trata de esto, de obtener código de una macro con la grabadora de macros, sobretodo si tenemos duda o de plano no saber cómo hacer una acción en Excel con macros.

El código en cuestión que necesito obtener es el código que me permitirá hacer búsquedas desde un formulario diseñador por mi; la misma búsqueda que se realiza al presionar la combinación de teclas [Ctrl] + [B].

Tenemos un archivo de ejemplo donde la columna A contiene diferentes opciones de turno a laborar: matutino, vespertino y nocturno. Aunque lo más importante del archivo es que usaremos la herramienta Buscar y Reemplazar para obtener su código vba.

Archivo de Excel

Figura 1. Ejemplo de archivo para Grabar una macro.

Grabar la macro

Para grabar la macro nos vamos a la pestaña Vista. Dentro de esa pestaña elegimos la opción Macros > Grabar macro. No hacemos ninguna modificación en las opciones del formulario, sólo validar el nombre de la macro y el lugar dónde se guardará, para que sepamos después dónde buscarla.

Presionamos Aceptar y a partir de ese momento “casi todo” lo que hagamos en Excel generará un código vba; una macro.

Grabadora de macros en Excel

Figura 2. Grabadora de macros en Excel

En la Figura 2 vimos cómo grabar una macro. Ahora que sabemos que se generó una macro llamada Macro8 nos vamos al editor de vba para ver el código generado. Presionamos [Alt] + [F8] y damos doble clic sobre el Módulo1 para que se muestre la macro.

Código generado por la grabadora de macros en Excel

Figura 4. Código generado con la Grabadora de macros

Video tutorial

Adecuar el código de la grabadora de macros a nuestro proyecto

Bien, ahora que tenemos el código vba de Buscar y Reemplazar, ahora lo usaremos en un formulario propio que simulará la misma acción de Buscar.

Formluario para Buscar con macros en Excel

Figura 3. Formulario vba para replicar Buscar y Reemplazar.

El botón Buscar tendrá el código que se generó con la Grabadora de macros, pero en lugar de que busque un “valor absoluto” buscará un valor variable. Éste valor será el texto que se ingrese en el TextBox1 del formulario.

Código vba modificado

Private Sub CommandButton1_Click()

    Dim strValor As String

    strValor = Me.TextBox1.Value

    'Usamos la variable strValor que nuestro valor buscado sea el texto
    ' del TextBox1 del formulario.
    Cells.Find(What:=strValor, After:=ActiveCell, LookIn:=xlFormulas, _
               LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
               MatchCase:=False, SearchFormat:=False).Activate
End Sub

Anexos

Descarga el ejemplo usado en este artículo: Obtener código vba de la grabadora de macros y reutilizarlo.xlsm.

No olvides Suscribirte a este Blog y a mi canal de Youtube para ser un experto en Excel.

You may also like...