USERFORM PARA COMPAÑERO DE SALIDAS (POR DIVERSIÓN)

¡Hola a todos! Vamos a revisar hoy un tema muy interesante de Excel conocido como Formularios o UserForm, un tipo de programación visual VBA con la cual podremos obtener información de nuestros usuarios de manera visual. Para esta ocasión usaremos algo no tan técnico, pero si muy divertido (jejeje).

¿De dónde nació?

Platicando con una conocida (omito nombres) me decía que no sabia porque nunca conseguia al “hombre de sus sueños”, a lo cual me enlisto las características que buscaba (espero que en broma) y me di a la tarea de crearle un formulario para evaluar a sus pretendientes con Excel.

¿Como se forma?

Lo primero es crear nuestra UserForm, para esto iremos a VisualBasic y en nuestro libro daremos click derecho para seleccionar “Insertar_UserForm”

Una vez creada, iremos insertando los objetos de nuestra UserForm como se muestra en la tabla de abajo:

USERFORMNAMECAPTION
OPTIONBUTTONCARROYESSI
OPRIONBUTTONCARRONONO
OPRIONBUTTONTRABAJOSISI
OPRIONBUTTONTRABAJONONO
LISTBOXVIVIENDA
TEXTBOXINGRESO
TEXTBOXHIJOS
SPINBUTTONCTRLHIJOS
COMBOBOXZONA
FRAMEFRAME1CARRO
FRAMEFRAME2TRABAJO
COMMANDBUTTONINICIOINICIAR
COMMANDBUTTONSALIRSALIR
COMMANDBUTTONENVIARENVIAR

Una vez colocados en su respectivo orden vamos a ver el código que los hara activar:

Private Sub userform_initialize()

' MUESTRA DESACTIVADOS LAS OPCIONES DE CARRO

CARROYES.Value = False

CARRONO.Value = False

' MUESTRA DESACTIVADOS LAS OPCIONES DE TRABAJO

TRABAJOSI.Value = False

TRABAJONO.Value = False

' ANADE ELEMENTOS DE OPCION A CASA

VIVIENDA.Clear

With VIVIENDA

    .AddItem "PROPIA"

    .AddItem "RENTADA"

    .AddItem "VIVO CON MIS PAPAS"

End With

' MUESTRA SIN VALORES LAS OPCIONES HIJOS E INGRESO MENSUAL

INGRESO.Value = ""

HIJOS.Value = ""

' ANADE OPCIONES A LA ZONA DONDE VIVE

ZONA.Clear

With ZONA

    .AddItem "NORESTE"

    .AddItem "NORTE"

    .AddItem "NOROESTE"

    .AddItem "CENTRO"

    .AddItem "ORIENTE"

    .AddItem "PONIENTE"

    .AddItem "SURESTE"

    .AddItem "SUR"

    .AddItem "SUROESTE"

End With

End Sub

Ahora, vamos a hacer que los demás botones funciones. Vamos primero con el contador de hijos:

Private Sub CTRLHIJOS_Change()

HIJOS.Text = CTRLHIJOS.Value

End Sub

Con este código haremos que cada cambio de valor del control se refleje como Texto en la caja de texto llamada hijos.

Ahora, para que los botones funciones utilizaremos los siguientes codigos:

BOTON INICIAR:

Private Sub INICIO_Click()

Call userform_initialize

End Sub

BOTON SALIR:

Private Sub SALIR_Click()

Unload.Me

End Sub

BOTON ENVIAR:

Private Sub ENVIAR_Click()

' VARIABLES

Dim rngcopy As Long

Dim i As Integer

' DEFINIENDO EL RANGO DE LA BASE

Worksheets("baseligues").Activate

rngcopy = WorksheetFunction.CountA(Range("A:A")) + 1

' EVALUACION DE CARRO

If CARROYES.Value = True Then Cells(rngcopy, 1).Value = 1

If CARRONO.Value = True Then Cells(rngcopy, 1).Value = 0

' EVALUACION DE TRABAJO

If TRABAJOSI.Value = True Then Cells(rngcopy, 2).Value = 1

If TRABAJONO.Value = True Then Cells(rngcopy, 2).Value = 0

' EVALUACION DE VIVIENDA

If VIVIENDA.Value = "PROPIA" Then Cells(rngcopy, 3).Value = 2

If VIVIENDA.Value = "RENTADA" Then Cells(rngcopy, 3).Value = 1

If VIVIENDA.Value = "VIVO CON MIS PAPAS" Then Cells(rngcopy, 3).Value = 0

' EVALUACION DE INGRESOS

If INGRESO.Value < 8000 Then Cells(rngcopy, 4).Value = 0

If INGRESO.Value >= 8000 And INGRESO.Value < 20000 Then Cells(rngcopy, 4).Value = 1

If INGRESO.Value >= 20000 Then Cells(rngcopy, 4).Value = 2

' EVALUACION DE HIJOS

If HIJOS.Value > 0 Then Cells(rngcopy, 5).Value = 0 Else Cells(rngcopy, 5).Value = 1

' EVALUACION DE ZONA DONDE VIVE

If ZONA.Value = "NORESTE" Or ZONA.Value = "NORTE" Or ZONA.Value = "NOROESTE" Then Cells(rngcopy, 6).Value = 0

If ZONA.Value = "CENTRO" Or ZONA.Value = "ORIENTE" Or ZONA.Value = "PONIENTE" Then Cells(rngcopy, 6).Value = 1

If ZONA.Value = "SURESTE" Or ZONA.Value = "SUR" Or ZONA.Value = "SUROESTE" Then Cells(rngcopy, 6).Value = 2

' PUNTUACION DEL SUJETO

i = WorksheetFunction.Sum(Cells(rngcopy, 1), Cells(rngcopy, 2), Cells(rngcopy, 3), Cells(rngcopy, 4), Cells(rngcopy, 5), Cells(rngcopy, 6))

' REGRESANDO A HOJA ORIGINAL

Worksheets("EVALUAR").Activate

' MENSAJE DE SUGERENCIA

If i < 3 Then MsgBox "Evaluacion lista" & vbCrLf & "Botalo, no te conviene", vbOKOnly, "Resultado Evaluacion"

If i >= 3 And i < 7 Then MsgBox "Evaluacion lista" & vbCrLf & "Tiene lo suyo, consideralo", vbOKOnly, "Resultado Evaluacion"

If i >= 7 Then MsgBox "Evaluacion lista" & vbCrLf & "Es el bueno, pidele pack!", vbOKOnly, "Resultado Evaluacion"

'CERRANDO USERFORM

Unload Me

End Sub

Todo el código del botón Enviar sirve para generar una evaluación y dejar registro del sujeto ligado a evaluar, además de hacer una suma de puntaciones y recomendar si vale la pena seguir hablándole o no.

¡Ahora mi amiga no perderá tiempo con alguien que no le interesa! Si bien el libro solo es para molestarla, la técnica usada puede funcionar para muchas situaciones de la vida laboral, pruébalo descargando aquí y muestra a tus ligues que también puedes evaluarlos y conseguir el amor (interesado) de tu vida.

La forma es mejorable, podrías solo guardar en variables VBA y no usar la tabla en la otra hoja para realizar la evaluación. Practícalo y deja tus comentarios para seguir creciendo y creando un mundo de Excel más CUTE.

USERFORM PARA COMPAÑERO DE SALIDAS (POR DIVERSIÓN)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll hacia arriba