En excel Userform que busque y ingrese datos ?

He tratado de solucionar lo siguiente pero necesito ayuda .. Se trata de :

En la hoja 1 tengo unos datos de clientes, en las columnas: IDENTIFICACIÓN, NOMBRE, FACTURA, VALOR FACTURA, ABONO .. Esos son los datos que ocupan las 5 primeras columnas y las filas las ocupan los datos de los clientes .

En la hoja 2 tengo un botón que se llama "ingresar abonos" al darle clic me llama el siguiente formulario

Lo que pretendo hacer es:

1) Ingresar la ID en el cuadro de texto 1 me busque en la hoja 1 columna A los datos que coincidan, y que el el cuadro de texto 2 me aparezca el nombre del cliente que estoy buscando ..

2) En el cuadro de texto 3 " valor abono" ingreso la cantidad que me están abonando, y al presionar el botón que se llama abonar, me pegue ese valor en la columna abono de hoja 1 pero en la fila del cliente que busque en el cuadro de texto 1

Es todo, les agradezco mucho por la colaboración o orientación que me puedan dar..

1 Respuesta

Respuesta
2

¿Pero en la hoja1 vas a tener el cliente1 con varios abonos?

¿El primer abono del cliente1 en dónde va?

¿El segundo abono del mismo cliente1 en dónde va?

Ya veo que pusiste una imagen, pero puedes poner una imagen de la hoja1 antes de ingresar el primer abono de un cliente, luego otra imagen con el primer abono del cliente y una tercera imagen con el segundo abono del mismo cliente. En total 3 imágenes.

hoja1

hoja 2

ejemplo 1

complemento de ejemplo 1

el userform1 esta trabajando en la hoja 2  y los datos que va a manipular están en la hoja 1, por que le puse primero buscar ? al digitalizar en el cuadro de texto1 la id del cliente .. que me muestre en el cuadro de texto 2 los datos de la columna B de la hoja 1 " osea que me muestre el nombre del cliente " ,,   cuando tenga esos datos cargados en el userform1 hay si ingreso el abono , y para terminar de ejecutar la operación doy en el botón abonar para que me cargue ese abono en la columna abono de hoja 1 ,, y el segundo abono sea sumado al anterior

Funciona de esta forma

1. Captura el Id

2. Presiona Enter o Tab para salir del textbox1

3. El código verifica si existe el ID, si existe, te aparece el nombre y puedes capturar el abono; si no existe te envía un mensaje

4. Captura el abono

5. Presiona el botón Abonar


Pon el siguiente código en tu userform.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    'Abonar
    '
    Set h1 = Sheets("Hoja1")
    If TextBox1.Value = "" Then
        MsgBox "Ingresa el ID"
        TextBox1.SetFocus
        Exit Sub
    End If
    '
    If TextBox3 = "" Or Not IsNumeric(TextBox3) Then
        MsgBox "Ingresa el valor del abono"
        TextBox3.SetFocus
        Exit Sub
    End If
    '
    If IsNumeric(TextBox1) Then valor = Val(TextBox1) Else valor = TextBox1
    Set b = h1.Columns("A").Find(valor, lookat:=xlWhole)
    If Not b Is Nothing Then
        h1.Cells(b.Row, "E").Value = h1.Cells(b.Row, "E").Value + Val(TextBox3)
        MsgBox "Abono realizado", vbInformation
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
        TextBox1.SetFocus
    Else
        MsgBox "El cliente no existe", vbExclamation
        TextBox1.SetFocus
    End If
End Sub
'
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    'Buscar Id
    '
    Set h1 = Sheets("Hoja1")
    If TextBox1.Value = "" Then Exit Sub
    If IsNumeric(TextBox1) Then valor = Val(TextBox1) Else valor = TextBox1
    Set b = h1.Columns("A").Find(valor, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox2.Value = h1.Cells(b.Row, "B")
    Else
        MsgBox "El cliente no existe", vbExclamation
        Cancel = True
    End If
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas