Error 1004 en excel ayuda please

Hola que tal experto, ¿me podrías ayudar?, te explico mi problema tengo una libro de excel el cual lleva a cabo una gran cantidad de operaciones básicas, de las cuales las más importantes son capturar un numero de socio y que inmediatamente aparezca la hora en una celda, esto lo he hecho con el siguiente código
Private Sub Worksheet_Change(ByVal Target As Range)
Dim valor As String
Dim celda As String
celda = Target.Address
If Not Intersect(Range("B15:B8016"), Range(celda)) Is Nothing Then ' comprobamos que la celda esta en el rango que queremos evaluar
valor = UCase(Target.Value) ' Ponemos en mayusculas lo que hay en la celda
If valor > "0" Then ' Comprobamos que es SI
Target.Offset(0, 27).Value = Time ' Si es SI ponemos la fecha actual en la columna siguiente
Else
Target.Offset(0, 27).Value = "" ' Si no ponemos la columna siguiente a blancos
End If
End If
End Sub
Y bueno hasta ahí va perfecto, el problema es que cuanto protejo la hoja empieza el problema al momento de introducir un numero de socio y darle enter me manda el erro 1004 en tiempo de ejecución, error definido por la aplicación u objeto.
Ademas de este problema tengo una cantidad importante de filas agrupadas, el problema es que al bloquer la hoja no me permite utilizar los símbolos de + o - para plegar o desplegar dichas filas,
te agradecería bastante tu ayuda va mi puesto de por medio muchas gracias desde ya mi correo es [email protected]

1 Respuesta

Respuesta
1
El problema es sencillo, tu código modifica el valor de alguna celda, al bloquear la hoja, se impide que se modifique el valor de las celdas, lo que produce el error cuando tu código intenta modificar alguna celda. Para evitar eso, cuando le das a proteger hoja, te sale un menu, con casillas que puedes marcar y desmarcar, para que se puedan modificar las celdas por código debes activar las casillas modificar objetos y modificar escenarios, que en excel 2007 corresponden a las dos ultimas opciones.
Revisando de nuevo el tema, en lugar de cambiar esas opciones que te digo, ya que no funciona, lo que tienes que hacer es lo siguiente:
En tu código, antes de realizar las modificaciones en el código pon lo siguiente:
Hoja1. Unprotect
En lugar de hoja1 deberías poner la hoja que corresponda
una vez modificados los valores por código debes volver a proteger la hoja
hoja1. Protect
en caso de que este protegida por contraseña, solo debes ponerla después del protect y unprotect siguiendo el intellisense.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas