Curso Macros en Excel – Cap. 81 – Agenda telefónica desde cero PARTE 4
En este capítulo daremos seguimiento a nuestro Proyecto de Agenda telefónica desde cero usando macros y VBA en Excel. En esta cuarta entrega vamos a programar el botón Guardar para dar de alta los valores en nuestra hoja Base. Además de cambiarle el nombre a todos los controles, con el objetivo de usar un Ciclo FOR NEXT para optimizar el alta de valores.
Ver video Capítulo 81 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Avance del Proyecto
Como lo has notado, este es el tercer video del Proyecto de nuestra agenda telefónica, pero el número 80 de nuestro curso de macros. A continuación enlisto lo que ya hemos hecho y lo que haremos en este capítulo.
- Programar el botón GUARDAR. PARTE 4.
- Cambiar nombre de controles a “valor1, valor2, etc”. PARTE 4.
- Nueva etiqueta para reflejar la ruta de la imagen. PARTE 4.
Etiqueta Ruta imagen
Al elegir una nueva imagen, vamos a reflejar la ruta completa en una nueva Etiqueta (Label), para luego darla de alta en la hoja BASE.
Figura 1. Etiqueta para reflejar la ruta de la imagen elegida.
Cambio de nombre a Controles
Con el fin de optimizar nuestro código VBA, tenemos que cambiarle el nombre a los Controles del Formulario. Haremos el cambio de nombre a los TextBox y Combobox, y todos tendrán el prefijo “Valor”. Tenemos 16 controles que irán de “valor1” a “valor16”.
Al tener todos los controles un prefijo estático, podremos usar el Ciclo For Next para recorrer todos y así sea más óptimo guardar los valores en la hoja BASE.
Figura 2. Cambio de nombre a los Controles para optimizar la carga de valores con FOR NEXT.
Botón GUARDAR
Una vez que hicimos los cambios anteriores, ya estamos listos para programar el botón GUARDAR, el cual nos servirá para dar de alta los valores capturados en la hoja BASE. Fíjate muy bien cómo trabajamos el tema del ID, ya que ese valor los ayudará cuando realicemos el Formulario de BUSCAR. También toma nota de cómo usamos el Ciclo For Next para recorrer todos los controles del Formulario usando la Colección Controls y tomando el prefijo “valor”.
Figura 3. Alta de valores en hoja BASE programando el botón GUARDAR.
Código VBA del botón GUARDAR
'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo Private Sub CommandButton1_Click() Dim HojaBase As Worksheet Dim Rango As Range Dim NuevaFila As Integer Dim NuevoID As Integer Dim i As Integer Set HojaBase = ThisWorkbook.Sheets("Base") Set Rango = HojaBase.Range("A1").CurrentRegion NuevaFila = Rango.Rows.Count + 1 If Rango.Rows.Count = 1 Then NuevoID = 1 Else NuevoID = HojaBase.Cells(NuevaFila - 1, 1) + 1 End If With HojaBase .Cells(NuevaFila, 1).Value = NuevoID For i = 1 To 16 .Cells(NuevaFila, i + 1).Value = Me.Controls("valor" & i).Value Next i .Cells(NuevaFila, 18).Value = Me.LabelRuta.Caption End With End Sub
Descargar el archivo de ejemplo
081 – Proyecto Agenda 04 – Programando botón Alta – Guardar – 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.