Encontrar ultimo registro para ingresar otro

Hasta aqui voy con mi proyecto para crear un formulario de consulta y modificacion, ahora quiero poder ingresar un nuevo registro. Dejo los codigos tanto para buscar como para editar, ¿si fuera posible dejar la modificacion y agregar en un solo boton? O sea.. Revisar si el combobox está vacio, haga la funcion de agregar y si tiene informacion que edite los campos.

Codigo de busqueda

Private Sub CommandButton1_Click()
Set b = Sheets("Proveedores").Range("A:K").Find(ComboBox1, lookat:=xlWhole)
If Not b Is Nothing Then
TextBox1 = Sheets("Proveedores").Cells(b.Row, "A")
TextBox2 = Sheets("Proveedores").Cells(b.Row, "C")
TextBox3 = Sheets("Proveedores").Cells(b.Row, "D")
TextBox4 = Sheets("Proveedores").Cells(b.Row, "E")
TextBox5 = Sheets("Proveedores").Cells(b.Row, "F")
TextBox6 = Sheets("Proveedores").Cells(b.Row, "G")
Else
MsgBox "¡NO SE HA ENCONTRADO EL PROVEEDOR!", vbInformation, "MACH CHILE LIMITADA"
Me.ComboBox1.SetFocus
Me.ComboBox1 = ""
End If
End Sub

Codigo para modificar

Private Sub CommandButton3_Click()
'Por.Dante Amor
Set b = Sheets("Proveedores").Range("a:k").Find(ComboBox1, lookat:=xlWhole)
If Not b Is Nothing Then
Sheets("Proveedores").Cells(b.Row, "a") = TextBox1
Sheets("Proveedores").Cells(b.Row, "c") = TextBox2
Sheets("Proveedores").Cells(b.Row, "d") = TextBox3
Sheets("Proveedores").Cells(b.Row, "e") = TextBox4
Sheets("Proveedores").Cells(b.Row, "f") = TextBox5
Sheets("Proveedores").Cells(b.Row, "g") = TextBox6
Else
MsgBox "NO SE HAN ENCONTRADO DATOS", vbInformation, "MACH CHILE LIMITADA"
End If
End Sub

2 Respuestas

Respuesta
2

H o   l a:

También puedes poner en una variable la hoja, para que no la repitas; también puedes poner en una sola variable el número de fila en donde vas a escribir, ya se para crear o actualizar.

Private Sub CommandButton3_Click()
'Por.Dante Amor
    Set h = Sheets("Proveedores")
    Set b = h.Range("a:k").Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        u = b.Row
    Else
        u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
        h.Cells(u, "B") = ComboBox1
    End If
    h.Cells(u, "a") = TextBox1
    h.Cells(u, "c") = TextBox2
    h.Cells(u, "d") = TextBox3
    h.Cells(u, "e") = TextBox4
    h.Cells(u, "f") = TextBox5
    h.Cells(u, "g") = TextBox6
    MsgBox "SE HA CREADO O ACTUALIZADO EL PROVEEDOR :" & Chr(13) & ComboBox1 & "", vbInformation, "MACH CHILE LIMITADA"
End Sub

Sal u dos

Respuesta
1

Private Sub CommandButton3_Click()
'Por.Dante Amor
Set b = Sheets("Proveedores").Range("a:k").Find(ComboBox1, lookat:=xlWhole)
If Not b Is Nothing Then
Sheets("Proveedores").Cells(b.Row, "a") = TextBox1
Sheets("Proveedores").Cells(b.Row, "c") = TextBox2
Sheets("Proveedores").Cells(b.Row, "d") = TextBox3
Sheets("Proveedores").Cells(b.Row, "e") = TextBox4
Sheets("Proveedores").Cells(b.Row, "f") = TextBox5
Sheets("Proveedores").Cells(b.Row, "g") = TextBox6
Else
Dim UltLinea As Long
UltLinea = Sheets("Proveedores").Range("A" & Rows.Count).End(xlUp).Row
escribir = UltLinea + 1

Sheets("Proveedores").Range("A" & escribir) = TextBox1
Sheets("Proveedores").Range("B" & escribir) = ComboBox1
Sheets("Proveedores").Range("c" & escribir) = TextBox2
Sheets("Proveedores").Range("d" & escribir) = TextBox3
Sheets("Proveedores").Range("e" & escribir) = TextBox4
Sheets("Proveedores").Range("f" & escribir) = TextBox5
Sheets("Proveedores").Range("g" & escribir) = TextBox6
End If
MsgBox "SE HA CREADO O ACTUALIZADO EL PROVEEDOR :" & Chr(13) & ComboBox1 & "", vbInformation, "MACH CHILE LIMITADA"
End Sub

Gracias Dante! Voy aprendiendo de a poco! jejejejeje ;)

Con ese código conseguí ACTUALIZAR O CREAR un proveedor usando el mismo botón :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas