INGRESAR DATOS A EXCEL CON MACRO


Esta macro nos permite ingresar datos numéricos desde un formulario de forma práctica y sencilla.

Primero creamos u formulario como el que se muestra a continuación.



A los cuadros de texto les ponemos los siguientes nombres, para ello seleccionamos el cuadro de texto y cambiamos su nombre en el cuadro de propiedades, de la siguiente manera:

(Name)=VALOR 1

(Name)=VALOR 2

(Name)=VALOR 3

(Name)=VALOR 4

Así como se muestra en la siguiente imagen.





También cambiamos los nombres de los botones grabar y salir respectivamente.
(Name)=CMDGRABAR

(Name)=CMDSALIR

Como en la imagen siguiente.



¡Listo!, una vez hecho eso le damos doble clic al botón LLEVAR A EXCEL  para ir a visual basic y comenzar la programación de dicho botón, que es la siguiente.


Private Sub CMDGRABAR_Click()
Sheets("valor").Select
NR = Application.WorksheetFunction.CountA(Range("A:A"))

If VALOR1 = "" Then
    MsgBox "INGRESE VALOR1"
    VALOR1.SetFocus
    Else
    If Not (IsNumeric(VALOR1)) Then
    MsgBox "EL VALOR1 DEBE SER NUMEROS"
    VALOR1 = ""
    VALOR1.SetFocus
    Exit Sub
    End If
   
End If
If VALOR2 = "" Then
    MsgBox "INGRESE VALOR2"
    VALOR2.SetFocus
    Else
    If Not (IsNumeric(VALOR2)) Then
    MsgBox "EL VALOR2 DEBE SER NUMEROS"
    VALOR2 = ""
    VALOR2.SetFocus
    Exit Sub
    End If
End If
If VALOR3 = "" Then
    MsgBox "INGRESE VALOR3"
    VALOR3.SetFocus
    Exit Sub
    Else
    If Not (IsNumeric(VALOR3)) Then
    MsgBox "EL VALOR3 DEBE SER NUMEROS"
    VALOR3 = ""
    VALOR3.SetFocus
    Exit Sub
    End If
   
End If
If VALOR4 = "" Then
    MsgBox "INGRESE VALOR4"
    VALOR4.SetFocus
    Exit Sub
    Else
    If Not (IsNumeric(VALOR4)) Then
    MsgBox "EL VALOR4 DEBE SER NUMEROS"
    VALOR4 = ""
    VALOR4.SetFocus
    Exit Sub
    End If
End If

Cells(NR + 1, 1) = Val(VALOR1)
Cells(NR + 1, 2) = Val(VALOR2)
Cells(NR + 1, 3) = Val(VALOR3)
Cells(NR + 1, 4) = Val(VALOR4)
Cells(NR + 1, 5) = Val(VALOR1) + Val(VALOR2) + Val(VALOR3) + Val(VALOR4)
Cells(NR + 1, 6) = Cells(NR + 1, 5) / 4

VALOR1 = ""
VALOR2 = ""
VALOR3 = ""
VALOR4 = ""

VALOR1.SetFocus
End Sub

Ahora vamos al Excel y desde la ficha programador vamos a insertar un botón de comando, también añadimos texto como se muestra en la siguiente imagen.





El nombre de la hoja le ponemos “valor”, como se muestra en la imagen.




Ahora damos doble clic a nuestro botón FORMULARIO INICIO para ir a visual basic donde programamos lo siguiente.

Private Sub CMDINICIO_Click()
frminicio.Show
End Sub

Como se muestra en la siguiente imagen.



Cells(NR + 1, 5) = Val(VALOR1) + Val(VALOR2) + Val(VALOR3) + Val(VALOR4)

En esta linea de código estamos realizando la suma de todos los valores ingresados, para ello colocamos Val para indicar que es un valor numérico, te recuerdo que los valores ingresados son reconocidos como cadena de texto por eso ponemos Val para su conversión a números. 

Cells(NR + 1, 6) = Cells(NR + 1, 5) / 4

En esta linea de código estamos tomado como referencia el valor de la celda anterior para calcular el promedio.

Gracias por su visita :-D

No hay comentarios:

Publicar un comentario