Anda di halaman 1dari 11

Controles ActiveX: Botn de Comando (Programando Cdigo VBA Parte 2)

En esta segunda parte de configuracin VBA o adicin de macros al Control Botn de Comando, vamos a dar una funcionalidad un poco ms prctica adicional a la que tenemos donde se muestra un mensaje del botn que estamos seleccionando. Se trata de una aplicacin tipo formulario en la cual se ingresan unos datos bsicos de las personas y luego con el uso de un botn, los grabamos en una base de datos:

La base de datos donde se almacenan la tenemos en la parte inferior de la hoja:

Como la idea es que al dar clic al botn Grabar, los datos registrados se guarden en la Base de Datos, debemos empezar programando dicho botn, as que estando en Modo Diseo damos clic derecho sobre este y seleccionamos Ver cdigo para abrir el Editor de Visual Basic y programar la macro:

Vamos a colocar el siguiente cdigo: Range("B4:F4").Select Selection.Copy Range("B24").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("B4").Select

La primera lnea, Range("B4:F4").Select, lo que hace es seleccionar el rango B4:F4 La segunda lnea, Selection.Copy, lo que hace es a la seleccin que hicimos, es decir al rango B4:F4, le damos Copiar (Ctrl + C) para tener en el Portapepeles lso datos que hay en dicho rango La tercera lnea, Range("B24").Select, lo que hace es ubicarnos en la celda B24, la cual es la fila que esta antes del encabezado de la base de datos:

La cuarta lnea, Selection.End(xlDown).Select, lo que hace es desplazarse hasta el final de la lista de la base de datos; esto es necesario ya que la base de datos va aumentando y nos debemos ubicar al final de la lista para pegar los datos bsicos que tenemos en el portapapeles segn la lnea 2 La quinta lnea, ActiveCell.Offset(1, 0).Select, lo que hace es una vez nos desplazamos hasta el final de la base de datos es necesario ubicarnos una celda abajo que es la primera fila vaca de la base de datos. La sexta lnea ActiveSheet.Paste lo que hace es pegar (o dar Ctrl + V) a los datos La sptima lnea, Application.CutCopyMode = False, lo que hace es borrar del Portapapeles los datos bsicos del rango B4:F4 al que habamos dado la instruccin Ctrl + C

La ltima lnea, Range("B4").Select, lo que hace es seleccionar la celda B4 para ubicarnos nuevamente en la parte superior. Vamos a probar la programacin de Botn de Comando Grabar en la hoja Excel:

Insertemos los datos de otra persona y demos Grabar:

Vemos que efectivamente va llenando la base de datos con la informacin de los clientes. Solo falta programar el botn Borrar para que una vez se graben los datos de los clientes, demos Clic a este botn de comando para borrar la informacin del rango de datos. Para ello damos clic derecho (estando en Modo Diseo) al botn Cancelar, Ver cdigo y colocamos lo siguiente: Range("B4:F4").Select Selection.ClearContents

Vamos a probar el resultado en la hoja Excel:

Damos Clic en el botn Borrar

Controles ActiveX: Botn de Comando (Programando Cdigo VBA Parte 2)


En esta segunda parte de configuracin VBA o adicin de macros al Control Botn de Comando, vamos a dar una funcionalidad un poco ms prctica adicional a la que tenemos donde se muestra un mensaje del botn que estamos seleccionando. Se trata de una aplicacin tipo formulario en la cual se ingresan unos datos bsicos de las personas y luego con el uso de un botn, los grabamos en una base de datos:

La base de datos donde se almacenan la tenemos en la parte inferior de la hoja:

Como la idea es que al dar clic al botn Grabar, los datos registrados se guarden en la Base de Datos, debemos empezar programando dicho botn, as que estando en Modo Diseo damos clic derecho sobre este y seleccionamos Ver cdigo para abrir el Editor de Visual Basic y programar la macro:

Vamos a colocar el siguiente cdigo: Range("B4:F4").Select Selection.Copy Range("B24").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("B4").Select

La primera lnea, Range("B4:F4").Select, lo que hace es seleccionar el rango B4:F4 La segunda lnea, Selection.Copy, lo que hace es a la seleccin que hicimos, es decir al rango B4:F4, le damos Copiar (Ctrl + C) para tener en el Portapepeles lso datos que hay en dicho rango La tercera lnea, Range("B24").Select, lo que hace es ubicarnos en la celda B24, la cual es la fila que esta antes del encabezado de la base de datos:

La cuarta lnea, Selection.End(xlDown).Select, lo que hace es desplazarse hasta el final de la lista de la base de datos; esto es necesario ya que la base de datos va aumentando y nos debemos ubicar al final de la lista para pegar los datos bsicos que tenemos en el portapapeles segn la lnea 2 La quinta lnea, ActiveCell.Offset(1, 0).Select, lo que hace es una vez nos desplazamos hasta el final de la base de datos es necesario ubicarnos una celda abajo que es la primera fila vaca de la base de datos. La sexta lnea ActiveSheet.Paste lo que hace es pegar (o dar Ctrl + V) a los datos La sptima lnea, Application.CutCopyMode = False, lo que hace es borrar del Portapapeles los datos bsicos del rango B4:F4 al que habamos dado la instruccin Ctrl + C

La ltima lnea, Range("B4").Select, lo que hace es seleccionar la celda B4 para ubicarnos nuevamente en la parte superior. Vamos a probar la programacin de Botn de Comando Grabar en la hoja Excel:

Insertemos los datos de otra persona y demos Grabar:

Vemos que efectivamente va llenando la base de datos con la informacin de los clientes. Solo falta programar el botn Borrar para que una vez se graben los datos de los clientes, demos Clic a este botn de comando para borrar la informacin del rango de datos. Para ello damos clic derecho (estando en Modo Diseo) al botn Cancelar, Ver cdigo y colocamos lo siguiente: Range("B4:F4").Select Selection.ClearContents

Vamos a probar el resultado en la hoja Excel:

Damos Clic en el botn Borrar

Anda mungkin juga menyukai