Capurar datos y guardarlos en una TABLA de Excel | Usando VBA y macros

Todos hablan sobre las ventajas de usar Tablas en Excel. Y tienen razón. Son una herramienta muy útil.

Pero qué si te digo que también existen ventajas de trabajarlas con macros en Excel?

En este video te enseño cómo capturar datos en un Formulario y luego pasar los valores a una Tabla. UN TIP IMPERDIBLE.

Ver video Insertar fila nueva con datos en Tabla de Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Cómo lo hacemos

Tenemos un Formulario en una hoja de Excel.Vamos a capturar datos en dicho formulario y deseamos pasar los datos a un Tabla, es decir, un rango convertido en Tabla.

Formulario en Excel

Figura 1. Formulario en Excel.

Los datos capturados en ese Formulario, al presionar un botón, insertarán una nueva fila en nuestra Tabla, además de agregar los valores de cada uno de los campos.

Tabla de Excel

Figura 2. Tabla de Excel.

Código VBA de la macro

Este código debe insertarse en un módulo normal.

<style>pre{font-family:Courier New; font-size:10.0pt;}</style>
<pre>Option Explicit

'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh

Sub AltaEnTabla()
Dim HojaDatos As Worksheet
Dim Tabla As ListObject
Dim NuevaFila As ListRow
Dim Pregunta As Byte

Set HojaDatos = ThisWorkbook.Sheets("Datos")
Set Tabla = HojaDatos.ListObjects("TablaDatos")
Set NuevaFila = Tabla.ListRows.Add

With NuevaFila
    .Range(1) = Hoja1.Range("D6").Value
    .Range(2) = Hoja1.Range("D8").Value
    .Range(3) = Hoja1.Range("D10").Value
    .Range(4) = Hoja1.Range("G6").Value
    .Range(5) = Hoja1.Range("G8").Value
    .Range(6) = Hoja1.Range("G10").Value
End With

MsgBox "Se guardaron los datos en Tabla", vbInformation

Pregunta = MsgBox("Deseas limpiar el Formulario?", vbYesNo + vbQuestion)

If Pregunta = vbNo Then Exit Sub

'Borramos campos del Formulario
Hoja1.Range("D6").ClearContents
Hoja1.Range("D8").ClearContents
Hoja1.Range("D10").ClearContents
Hoja1.Range("G6").ClearContents
Hoja1.Range("G8").ClearContents
Hoja1.Range("G10").ClearContents

End Sub
</pre>

Tal vez te interese

5 poderosas ventajas de usar Tablas en Excel

Curso de macros en Excel

Descarga el archivo de ejemplo

Guardar datos en Tabla usando VBA y macros – EXCELeINFO..zip

Si te gustó este tutorial, por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...

Leave a Reply

Your email address will not be published.

%d bloggers like this: