Error 1004 al presionar botón modificar

buenas tardes, uso excel 2007

problema: error 1004 error definido por aplicación o objeto al presionar el botón modificar

función: modifica la fila seleccionada en la hoja de la base de datos

funcionamiento: en la base de datos se selecciona la fila que se quiere modificar ejemplo la fila 4, se presiona el botón para abrir formulario automáticamente ya están los datos en el mismo, se marca casilla de verificación y muestra el botón para modificar se presiona y sale el error

como funciona el botón: el botón copia la fila original activa y la pega en la hoja registro junto con fecha motivo y justificación, luego modifica los datos que están en la fila por los nuevos

código:

Private Sub BtnGrabarDatos_Click()
ActiveSheet.Unprotect "entrar"
X = RG.Range("F" & Rows.Count).End(xlUp).Row + 1
Fila = ActiveCell.Rows
If MoJustificación.Value = "" Then
 MsgBox "Debe poner la justificación"
 Else
 ActiveSheet.Unprotect "entrar"
 BD.Rows(Fila).Copy RG.Rows(X)
 RG.Range("O" & X) = Date
 RG.Range("P" & X) = ComEst.Text
 RG.Range("Q" & X) = ComMoti.Text
 RG.Range("R" & X) = MoJustificación
 BD.Cells(Fila, 2) = CDbl(MoCodigo)
 BD.Cells(Fila, 3) = MoCategoria
 If IsNumeric(MoFactura) Then
 BD.Cells(Fila, 4) = CDbl(MoFactura)
 Else
 BD.Cells(Fila, 4) = MoFactura
 End If
 If IsNumeric(MoReferencia) Then
 BD.Cells(Fila, 7) = CDbl(MoReferencia)
 Else
 BD.Cells(Fila, 7) = MoReferencia
 End If
 BD.Cells(Fila, 8) = MoDescripcion
 BD.Cells(Fila, 9) = ComEst.Text
 BD.Cells(Fila, 10) = MoFecha
 BD.Cells(Fila, 12) = Date
 BD.Cells(Fila, 13) = CDbl(MoUnitario)
 Unload Me
End If
End Sub

Private Sub UserForm_Initialize()
Set BD = Sheets("BASE DE DATOS")
Set RG = Sheets("REGISTRO")
 CargaCom Me
 EliminarTitulo Me.Caption
 Me.Height = Me.Height - 20
End Sub

linea que muestra el error:

BD.Rows(Fila).Copy RG.Rows(X)

agradezco mucho la ayuda que me puedan brindar

1 Respuesta

Respuesta
1

Enviame una copia a [email protected]

muchas gracias por la ayuda que me ofreces ya mande el archivo al correo que me diste

Lo que ocurre es que a Fila le asignas cero, por que debe de ser row no rows

Cambiar

Fila = ActiveCell.Rows

por

Fila = ActiveCell.Row

No se te olvide dar por finalizada la respuesta. Hasta la proxima!

pero al dar el botón la modificación no se esta realizando bien

osea no me esta mostrando ni el código categoría nada todo lo pone en cero y vacío

Valida de que componentes estas copiando la información, por ejemplo los dos primeros estaban mal

Private Sub BtnGrabarDatos_Click()
ActiveSheet.Unprotect "entrar"
X = RG.Range("F" & Rows.Count).End(xlUp).Row + 1
Fila = ActiveCell.Row
If MoJustificación.Value = "" Then
MsgBox "Debe poner la justificación"
Else
ActiveSheet.Unprotect "entrar"
BD.Rows(Fila).Copy RG.Rows(X)
RG.Range("O" & X) = Date
RG.Range("P" & X) = ComEst.Text
RG.Range("Q" & X) = ComMoti.Text
RG.Range("R" & X) = MoJustificación
BD.Cells(Fila, 2) = CDbl(ComCod)'<---------Traía los datos de otro componente
BD.Cells(Fila, 3) = LabCate<---------Traía los datos de otro componente
If IsNumeric(MoFactura) Then
BD.Cells(Fila, 4) = CDbl(MoFactura)
Else
BD.Cells(Fila, 4) = MoFactura
End If
If IsNumeric(MoReferencia) Then
BD.Cells(Fila, 7) = CDbl(MoReferencia)
Else
BD.Cells(Fila, 7) = MoReferencia
End If
BD.Cells(Fila, 8) = MoDescripcion
BD.Cells(Fila, 9) = ComEst.Text
BD.Cells(Fila, 10) = MoFecha
BD.Cells(Fila, 12) = Date
BD.Cells(Fila, 13) = CDbl(MoUnitario)
Unload Me
End If
End Sub

rayos como no vi ese error!!! por estar tan centrado arreglando eso que no los vi, muchísimas gracias amigo me ayudaste mucho solo voy a pulir un poco el código que tengo algo raro con el registro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas