En este tutorial les voy a enseñar como realizar el registro de productos desde un formulario hacia una hoja de excel.
El formulario cuenta con el boton nuevo que nos permite generar un codigo autonumerico para la columna codigo de producto, un boton grabar el cual primero valida que los datos a ingresar sean correctos y luego inserta los valores del formulario hacia la hoja de productos y un boton salir el cual cierra el formulario.
Se ha tratado que los controles utilizados para el ingreso de informacion sean los basicos como el label, textbox y combobox.
Este tutorial consta de dos videos secuenciales.
Video # 1 - Diseñando el formulario de ingreso de productos
Video # 2 - Programando el formulario de ingreso de productos.
El formulario terminado lo pueden descargar desde este link.
Sitio web dedicado a la enseñanza y desarrollo de aplicaciones y tutoriales en Microsoft excel con VBA
sábado, 31 de octubre de 2015
jueves, 15 de octubre de 2015
Macro en excel para convertir texto a mayúscula, minúscula y nombre propio
Macro en excel para convertir texto a MAYÚSCULA, minúscula y Nombre Propio
Actualmente en excel existen estas funciones, pero la limitación es que si tenemos varias celdas (unas 1000 celdas por ejemplo) deberíamos convertirlas en otras celdas y luego reemplazarlas para que surjan efecto.
Lo que haremos con estas macros sera convertirlas en el mismo lugar donde se encuentran con un solo paso.
Y bien pondremos los códigos vba de cada una.
Convertir a mayúsculas
Convertir a minúsculas
Convertir a Nombre propio
Para utilizarlo, deben seleccionar el rango de celdas que desean convertir y luego ejecutar el código respectivo y verán que da el resultado esperado.
Actualmente en excel existen estas funciones, pero la limitación es que si tenemos varias celdas (unas 1000 celdas por ejemplo) deberíamos convertirlas en otras celdas y luego reemplazarlas para que surjan efecto.
Lo que haremos con estas macros sera convertirlas en el mismo lugar donde se encuentran con un solo paso.
Y bien pondremos los códigos vba de cada una.
Convertir a mayúsculas
Sub Mayusculas()
Application.ScreenUpdating = False
For Each celda In Selection
celda.Value = UCase(celda)
Next
Application.ScreenUpdating = True
End Sub
Convertir a minúsculas
Sub Minusculas()
Application.ScreenUpdating = False
For Each celda In Selection
celda.Value = LCase(celda)
Next
Application.ScreenUpdating = True
End Sub
Convertir a Nombre propio
Sub NombrePropio()
Application.ScreenUpdating = False
For Each celda In Selection
celda.Value = WorksheetFunction.Proper(celda)
Next
Application.ScreenUpdating = True
End Sub
Para utilizarlo, deben seleccionar el rango de celdas que desean convertir y luego ejecutar el código respectivo y verán que da el resultado esperado.
miércoles, 14 de octubre de 2015
Ingreso de datos desde formulario vba en una hoja de excel
Cuando deseamos ingresar información a una hoja de excel mediante un formulario vba. podemos hacerlo de la siguiente manera.
Abrimos un nuevo libro de excel y creamos una hoja y la nombraremos "Datos", dentro de ella tendremos las siguientes columnas: Código,Nombres y ciudad como se muestran en la siguiente imagen.
El objetivo es llenar información en la hoja "DATOS" según lo que vayamos ingresando en el formulario, este tendrá las cajas de texto y botones que permitirán el ingreso de información mas ordenada y validada.
Para lo cual nos dirigiremos al entorno de programacion VBA (Presionamos las teclas ALT + F11) e insertamos un userform al cual le agregaremos los siguientes controlesy le asignaremos los valores indicados de sus propiedades.
Orden Control Caption Name
1 Label Ingresar informacion de clientes Por defecto
2 Label Código Por defecto
3 Label Nombres Por defecto
4 Label Ciudad Por defecto
1 CommandButton Registrar btnRegistrar
2 CommandButton Cerrar btnCerrar
1 Textbox (Vacio) txtCodigo
2 Textbox (Vacio) txtNombres
3 Textbox (Vacio) txtCiudad
El formulario quedara como muestra la siguiente imagen.
Una vez diseñado el formulario pasaremos a programarlo para que nos permita insertar informacion dentro de nuestra hoja "DATA"
Colocamos el siguiente código en el evento clic del botón Registrar.
Private Sub btnRegistrar_Click()
Dim uFila As Integer '
'Validar que los campos a registrar no se encuentren vacios
If Trim(txtCodigo.Text) = "" Then
MsgBox "Ingrese un valor en el campo Código", vbExclamation, "Validación"
txtCodigo.SetFocus
Exit Sub
End If
If Trim(txtNombres.Text) = "" Then
MsgBox "Ingrese un valor en el campo Código", vbExclamation, "Validación"
txtNombres.SetFocus
Exit Sub
End If
If Trim(txtCiudad.Text) = "" Then
MsgBox "Ingrese un valor en el campo Código", vbExclamation, "Validación"
txtCiudad.SetFocus
Exit Sub
End If
With Sheets("DATOS")
'Obtiene la ultima posicion de datos de la hoja Datos + 1
uFila = .Range("A" & Rows.Count).End(xlUp).Row + 1
'Registrar datos del formulario en la hoja DATOS
.Cells(uFila, 1).Value = txtCodigo.Text
.Cells(uFila, 2).Value = txtNombres.Text
.Cells(uFila, 3).Value = txtCiudad.Text
End With
Call Limpiar 'Llama a la subrutina para limpiar los textbox
End Sub
El codigo anterior utiliza una subrutina para limpiar los campos del formulario que es la siguiente y la tenemos que pegar fuera del boton registrar:
'Subrutina creada para limpiar campos del formulario
Sub Limpiar()
txtCodigo.Text = ""
txtNombres.Text = ""
txtCiudad.Text = ""
txtCodigo.SetFocus
End Sub
Luego dentro del evento clic del botón cerrar colocamos el código para cerrar el formulario.
Private Sub btnCerrar_Click()Ahora para poder abrir el formulario e ingresar información de manera mas facil, podemos ingresar una auto forma dentro en nuestra hoja Datos. Nos dirigimos a la pestaña insertar y en el grupo ilustraciones damos clic en formas e insertamos in rectángulo, Le agregamos el texto "Formulario"
'Cerrar el formulario
End
End Sub
Posteriormente nos dirigimos al entorno de programación e insertamos un modulo y pegamos el siguiente código:
Sub AbrirForm()
UserForm1.Show
End Sub
Entonces, le damos clic derecho al botón creado en la hoja excel y le damos clic en "asignar macro" y elegimos la macro llamada "AbrirForm". Esto permitirá que al darle clic al botón formulario se nos muestre el formulario sin necesidad de ingresar al código.
Finalmente guardamos nuestro archivo de excel y en el tipo de archivo elegimos Libro de excel habilitado para macros
De esta manera hemos realizado el ingreso de información desde un formulario en vba a una hoja de excel. Espero les haya sido de utilidad.
Puedes descargar el código desde aquí.
Suscribirse a:
Entradas (Atom)
Cargar multiples archivos txt en SSIS
Fuentes Archivos planos Descargar AQUÍ los archivos Consulta SQL de creacion de tabla Despacho en SQL Server CREATE TABLE [dbo].[Despacho]...
-
Macro para crear un libro de Excel por cada filtro Puedes decargar la macro desde este link
-
En este video explico como utilizar la macro que sirve para transformar información que se encuentra de manera horizontal a vertical, esto e...
-
Ejemplo en Excel VBA donde se cargara una lista de paises a un listview. Esto se realizara al cargar el formulario. Para eso ncesitam...