Saltar al contenido

COMPARAR DATOS Y MODIFICARLOS O AGREGARLOS


Recommended Posts

publicado

Estimada red, espero me puedan ayudar con esto:

Tengo un formulario desde el cual puedo agregar datos a una hoja de Excel

image.png.04b9105486521b1f311763d95dd4cd29.png

se compara la celda Nombre "Hoja14.Cells(j, 2)" con el TextCLIENTE. Si  cliente NO esta registrado, lo registra y agrega los datos.  Pero si el cliente ya esta registrado quiero que lo modifique con los nuevos datos asignados

El código que tengo funciona para registrar un nuevo cliente. EL PROBLEMA SURGE AL MOMENTO DE MODIFICARLO (SI SE MODIFICA) PERO TAMBIEN LO AGREGA.

 

image.thumb.png.3e99e45e1179deebe454b971c06aa816.png

 

Este es el código que tengo:

Private Sub CommandButton1_Click()

Dim i As Integer
Dim j As Integer
Dim Final As Integer
Dim Final2 As Integer


For i = 2 To 30000
    If Hoja14.Cells(i, 2) = "" Then
    Final2 = i
     Exit For
     Exit Sub
    End If
      
    Next
    Hoja14.Cells(Final2, 1) = TextFECHA
    Hoja14.Cells(Final2, 2) = TextCLIENTE
    Hoja14.Cells(Final2, 3) = TextPRODUCTO
    Hoja14.Cells(Final2, 4) = TextPRECIO


For j = 2 To 30000
If Hoja14.Cells(j, 2) = "" Then
Final = j - 1
Exit For
End If
Next

For j = 2 To Final
If TextCLIENTE = Hoja14.Cells(j, 2) Then
Hoja14.Cells(j, 1) = TextFECHA
Hoja14.Cells(j, 3) = TextPRODUCTO
Hoja14.Cells(j, 4) = TextPRECIO

End If
Next j

End Sub

 

 

publicado

Sustituye tu código por este, a ver si hay suerte:

Private Sub CommandButton1_Click()
With Hoja14
   For x = 2 To .Range("A" & Rows.Count).End(xlUp).Row + 1
      If .Range("B" & x) = TextCLIENTE And _
         .Range("C" & x) = TextPRODUCTO Then
         Exit For
      End If
   Next
   .Cells(x, 1) = TextFECHA
   .Cells(x, 2) = TextCLIENTE
   .Cells(x, 3) = TextPRODUCTO
   .Cells(x, 4) = TextPRECIO
End With
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.