Mostrando entradas con la etiqueta formulario en excel vba. Mostrar todas las entradas
Mostrando entradas con la etiqueta formulario en excel vba. Mostrar todas las entradas

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()
'Cerrar el formulario
End
End Sub
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"

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í.

domingo, 14 de junio de 2015

Abrir archivo de excel mediante formulario de login

Aqui se muestra un ejemplo en el cual mediante programacion vba creamos un formulario de login que nos pide ingresar el usuario y contraseña para abrir nuestro libro de excel.


Una vez ingresado los datos correctos y aceptamos, nos dirige hacia el archivo de excel que lo contiene.


jueves, 4 de septiembre de 2014

Vincular varios combobox excel vba - Ubigeo Perú

VINCULAR VARIOS COMBOBOX EXCEL VBA - UBIGEO PERÚ

Mediante el uso de programación vba he desarrollado un aplicativo el cual permite seleccionar la ubicación geografica (Perú) desde un formulario.  Esto se logra vinculando varios combobox.

El libro esta conformado por 3 hojas que son DEPARTAMENTO, PROVINCIA, DISTRITO en donde esta almacenada la información que mostraremos en el formulario.
Cada una de ellas tiene un codigo que lo identifica.

Por ejemplo:
-Hoja "departamento": se encuentra "Lima" y su codigo es "15"
-Hoja "Provincia": se encuentra la provincia de "Barranca" con su codigo de provincia igual a "02" y su codigo de departamento "15" (Codigo 15 es Departamento Lima) .
-Hoja "Distrito": Se encuentra "Paramonga" con codigo de distrito "02", codigo de provincia "02" y codigo de  departamento "15".
Y asi sucesivamente, cada distrito esta amarrado a una provincia y este a su vez  a un departamento mediante el codigo. Esto permite identificar la relacion que existe entre ellos ala hora de seleccionarlos en el formulario.

Vamos a pasar a mostrar el formulario, presionamos el boton de color azul "UBIGEO" que esta dentro de la hoja "DEPARTAMENTO", se abrira el formulario el cual nos muestra 3 combobox que hacen lo siguiente.

 

Al seleccionar un departamento nos muestra todas las provincias que pertenecen a ese departamento, y al seleccionar provincia nos muestran todos los distritos que pertenece a el departamento y provincia elegidas.

CODIGO
Si desean adaptar este libro para sus respectivos paises, pueden reemplazar la información que se encuentra en cada hoja., luego entran al editor de Visual basic mediante la combinacion de teclas Alt+ f11.
Y cambiamos el siguiente código que esta encerrado en color amarillo. ya que ahi selecciona el rango de las celdas que contiene informacion de los departamentos.

Aqui les dejo el link del aplicativo: Descargar Ubigeo en excel




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]...