Programación VBA en Excel para Gestión de Datos y Automatización

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,17 KB

Implementación de Seguridad y Control de Acceso en VBA

Procedimiento de Ingreso al Sistema

Private Sub CommandButton_INGRESAR_Click()
If TextBox_USUARIO = "SATD" And TextBox_CLAVE = "1234" Then
    UserForm2.Show
    Unload Me
Else
    MsgBox "Usuario o clave incorrecta"
    TextBox_USUARIO = ""
    TextBox_CLAVE = ""
End If
End Sub

Procedimiento de Cancelación

Private Sub CommandButton_CANCELAR_Click()
    Unload Me
End Sub

Gestión de Registros y Validación de Datos

Procedimiento para Guardar Información

Private Sub CommandButton_GUARDAR_Click()
Dim fila As Long
Dim sexo As String
Dim RutCompleto As String

'Validar selección del DV
If ComboBox_DV = "" Then
    MsgBox "Debe seleccionar el dígito verificador"
    Exit Sub
End If

'Determinar sexo
If OptionButton_MASCULINO = True Then
    sexo = "MASCULINO"
ElseIf OptionButton_FEMENINO = True Then
    sexo = "FEMENINO"
Else
    MsgBox "Debe seleccionar un sexo"
    Exit Sub
End If

'Construir RUT completo
RutCompleto = TextBox_RUT & "-" & ComboBox_DV

'Elegir celda
If Sheets("Hoja1").Range("B11") = "" Then
    fila = 11
Else
    fila = Sheets("Hoja1").Cells(Rows.Count, 2).End(xlUp).Row + 1
End If

'Guardar datos
Sheets("Hoja1").Cells(fila, 2) = RutCompleto
Sheets("Hoja1").Cells(fila, 3) = TextBox_NOMBRE
Sheets("Hoja1").Cells(fila, 4) = TextBox_APELLIDO
Sheets("Hoja1").Cells(fila, 5) = TextBox_CIUDAD
Sheets("Hoja1").Cells(fila, 6) = sexo

Call OrdenarApellido

MsgBox "Registro guardado correctamente"

'Limpiar controles
TextBox_RUT = ""
ComboBox_DV = ""
TextBox_NOMBRE = ""
TextBox_APELLIDO = ""
TextBox_CIUDAD = ""
OptionButton_MASCULINO = False
OptionButton_FEMENINO = False
TextBox_RUT.SetFocus
End Sub

Inicialización del Formulario de Usuario

Private Sub UserForm_Initialize()
    ComboBox_DV.AddItem "0"
    ComboBox_DV.AddItem "1"
    ComboBox_DV.AddItem "2"
    ComboBox_DV.AddItem "3"
    ComboBox_DV.AddItem "4"
    ComboBox_DV.AddItem "5"
    ComboBox_DV.AddItem "6"
    ComboBox_DV.AddItem "7"
    ComboBox_DV.AddItem "8"
    ComboBox_DV.AddItem "9"
    ComboBox_DV.AddItem "K"
End Sub

Uso de Funciones Avanzadas en Excel

Búsqueda Dinámica con BUSCARV y COINCIDIR

=BUSCARV(B25; 'Datos Ej1'!$D$11:$F$17; COINCIDIR("Nombre"; 'Datos Ej1'!$D$10:$F$10; 0); 0)

=BUSCARV(ID_Vendedor; Matriz_de_Datos$; COINCIDIR("Nombre_Encabezado"; Encabezados_Matriz$; 0); 0)

Conceptos Fundamentales de Excel y VBA

  • El símbolo & sirve para concatenar: VERDADERO.
  • La propiedad Caption sirve para cambiar el tamaño del texto de los elementos incluidos en el formulario: FALSO. (La propiedad correcta es Font).
  • Cuando programa una función, la debo hacer en un módulo para que funcione correctamente: VERDADERO.
  • En la función SI debo indicar un resultado en caso de que se cumpla la prueba lógica indicada y otro resultado en caso de que no se cumpla: VERDADERO.
  • En Excel solo tengo la posibilidad de usar las funciones que vienen incorporadas: FALSO. (Se pueden programar funciones personalizadas en VBA).
  • Cuando uso la función BUSCARV junto con COINCIDIR, la función COINCIDIR entrega el número de columna asociado al encabezado: VERDADERO.
  • Para fijar filas, columnas o ambos usamos la tecla F4 del teclado: VERDADERO. (Hay que tener cuidado en teclados en que esa tecla se active en conjunto con la tecla Fn).
  • En BUSCARV el elemento buscado debe estar al final de la matriz, de lo contrario no encontraremos lo que necesitamos: FALSO. (El elemento buscado debe estar a la izquierda, es decir, ser la primera columna de la matriz).

Entradas relacionadas: