Saltar al contenido

error código de modificar


jhonja

Recommended Posts

publicado

hola excelente aportes para comenzar, necesito su ayuda por favor, cree formulario active x  para que se poder hacer ingresos y modificación de datos todo iba bien hasta que puse el botón de modificar y metí el código pero ahora me sale un error que ejecución 424 espera un parámetro. No se que hice mal pongo el código del botón y no me deja ejecutarlo y ya he tratado pero nada,  bueno adicional a esto me gustaría que cuando se meta la información conserve los formatos de las celdas mil gracias.

dejo el código.

Private Sub buscar_Click()
On Error Resume Next
nombre.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D400"), 2, False)
cc.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D400"), 3, False)
fecha.Value = WorksheetFunction.VLookup(Val(id.Value), Sheets(1).Range("A5:D400"), 4, False)
End Sub

Private Sub CANCELAR_Click()

Unload Me

End Sub

Private Sub id_Change()

If Val(id.Value) = 0 Then
 buscar.Enabled = True
 ingreso.Enabled = False
 modifica.Enabled = True
End If

End Sub

Private Sub ingreso_Click()

With Sheets("CLIENTES-VS")

.Rows("5:5").Insert Shift:=xlDown
   
.Rows("5:5").Interior.Pattern = xlNone

.Range("A5").Value = id

.Range("B5").Value = nombre

.Range("C5").Value = cc

.Range("D5").Value = fecha

End With

End Sub

Private Sub modifica_Click()

bus_id = WorksheetFunction.Match(Val(id.Value), Sheets(1).Range("A5:A400"), 0) + 4
    With Sheets("CLIENTES-VS")
    
        .Range("B" & bus_id).Value = nombre.Value
   
        .Range("C" & bus_id).Value = cc.Value
 
        .Range("d" & bus_id).Value = fecha.Value
    End With
End Sub

Private Sub UserForm_Initialize()

 buscar.Enabled = False
  ingresar.Enabled = True
  modifica.Enabled = False
id.Value = Range("f2").Value + 1

End Sub
 

 

publicado

@jhonja , al menos debías haber dicho en qué línea te da el error, ya que no has subido tu archivo para poder depurar el código :mellow:

Mirando tu código me imagino que es por esta línea

bus_id = WorksheetFunction.Match(Val(id.Value), Sheets(1).Range("A5:A400"), 0) + 4

Estás usando una variable (id.Value) que no tienes definido en el código de "Modificar", si no en un procedimiento anterior y al abrir el form.

Prueba a definirlo en el mismo procedimiento
 

Private Sub modifica_Click()

id.Value = Range("f2").Value + 1

bus_id = WorksheetFunction.Match(Val(id.Value), Sheets(1).Range("A5:A400"), 0) + 4
    With Sheets("CLIENTES-VS")   
        .Range("B" & bus_id).Value = nombre.Value  
        .Range("C" & bus_id).Value = cc.Value
        .Range("d" & bus_id).Value = fecha.Value
    End With
End Sub

 

publicado

varias cosas @jhonja

En esta rutina:

Private Sub UserForm_Initialize()

 buscar.Enabled = False
  ingresar.Enabled = True
  modifica.Enabled = False
id.Value = Range("f2").Value + 1

End Sub

El textbox no se llama "ingresar", si no "ingreso". Si no lo modificas te dará error al intentar abrir el form

ingreso.Enabled=True

En la siguiente línea de código, al menos en la que me has pasado, haces referencia a Sheets(2)... que no existe :huh:

bus_id = WorksheetFunction.Match(Val(id.Value), Sheets(1).Range("A5:A400"), 0) + 4

Así que no sé si la tienes que modificar o no, pero asegurate que busque en la hoja correcta. Aparte, activas el botón de modificar si id=0... pero al intentar modificar cuando id=0, si no TIENES ningún valor 0 en la columna A siempre te va a dar error, porque no pùede encontrar nada

:blink:

 

Archivado

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

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Hola La opción brindada por @torquemada es correcta, funciona, pero hay algunos inconvenientes que (desde mi punto de vista) no la convierten en mi primera elección. Los inconvenientes son: Tendrías que ir columna por columna haciendo los reemplazos, claro que no se harían a mano sino que utilizarías la opción reemplazar o la opción texto en columnas, aun asi demorará un poquito y será trabajoso. Cada vez que descargues otro listado, tendrás que volver a realizar los reemplazos. Me parece una mejor propuesta lo siguiente: Descarga los movimientos a un archivo de Excel Desde tu control de pagos (otro archivo) cargas los movimientos del archivo descargado mediante Power Query Power Query hará los reemplazos y reconocerá todo correctamente (sin que tengas que hacer nada especial) Cuando descargues los movimientos un día posterior, solamente tendrás que hacer clic en "Actualizar" y todo funcionará en automático
    • Hola a todos, Efectivamente, me temo que tal como trabajan las funciones =HOY() y/o =AHORA() (volátiles), sólo con macros puedes obtener soluciones. Un recurso pedestre podría ser, cada vez que quieras que se fije un dato, te sitúes en esa celda y pulses F2, F9 e INTRO.  Pero claro, puede ser un inconveniente si hay que hacerlo repetitivamente en muchas ocasiones,.............. en fin, lo comento sólo como posibilidad. Saludos,
    • Hola nuevamente, mi duda sigue siendo la ruta, o rutas, finales que quedan, esas que llamas "relativas"; igual por si acaso pon 3 o 4 de esas, tal cual son y/o se ven en el explorador de cada PC y, de ser posible, en cualquier otro "lado" en que las veas.
    • Hola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.
    • Mil gracias, en verdad todo apoyo es super agradecido,   Su aporte y comentarios valen mucho para in servidor, y tiene razon esperare a conocer si alguien comparte alguna otra manera,   Gracias!!! (y)
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.