No funciona el botón actualizar

2 envíos / 0 nuevos
Último envío
cristhian
Imagen de cristhian
Offline
última acción: Hace 4 años 8 meses
alta: 07/07/2019 - 21:55
Puntos: 25
No funciona el botón actualizar

Estoy realizando desde excel y visual basic varios registros, entre unos de ellos es el boton Actualizar, que al momento de presionar, no cumple su funcion, al contrario Guarda como si fuera un nuevo registro, la linea de comando que estoy realizando es la siguiente: 

Private Sub CommandButton4_Click()

Dim fila, final As Integer

Dim codigob As String

Dim Nombreb, sueldo As Variant

Dim nombre As String

 

codigob = TextBox1.Text

nombre = TextBox2.Text

sueldo = TextBox3.Text

 

Sheets("empleados").Select

Nombreb = Application.VLookup(codigob, Range("a:c"), 2, 0)

fila = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

 

    If IsError(Nombreb) Then

    End If

 

            If Sheets("empleados").Select Then

            Cells(fila, 1) = codigob

            Cells(fila, 2) = nombre

            Cells(fila, 3) = sueldo

            End If

  TextBox1.Text = ""

  TextBox2.Text = ""

  TextBox3.Text = ""

 

End Sub

 
 
por favor su ayuda revisando donde estoy fallando, adjunto el archivo
AdjuntoTamaño
File deber.xlsm20.55 KB

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 4 horas 13 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
el fallo lo tienes en la

el fallo lo tienes en la línea que busca la fila donde guardar los datos

fila = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

Esto siempre va a la fila siguiente a la última fila con datos, es decir, que siempre anotas los datos en la siguiente fila en blanco creando un registro nuevo.

Imagino que lo que querrás hacer será localizar la fila donde tienes el registro que has cargado en el formulario y guardar en esa misma fila sobrescribiendo lo que hay para actualizar la información ¿no?

Puedes utilizar por ejemplo la función de la hoja de cálculo MATCH (coincidir) para encontrar la posición del código qeu estás buscando

posicionbuscada= Application.WorksheetFunction.Match(...

 

 

------
Ya sé Excel, pero necesito más.