
Problema al bloquear celdas con VBA
Publicado por Javier (1 intervención) el 13/10/2016 16:52:08
Buenos dias, tengo un par de problemas con las macros VBA en excel 2016 (la verdad es que tengo muy poca experiencia con ellas) y no soy capaz de ver lo que pasa, a ver si alguien puede iluminarme.
1er problema:
Con la siguiente macro, pretendo bloquear la celda B4 dependiendo de la selección que se hace en la Z3, con la [1a Opción] me funciona bien, pero con la [2a Opción] (que creo que es la mas correcta) me da el siguiente fallo "Se ha producido el error '1004' en tiempo de ejecución: No se puede asignar la propiedad Locked de la clase Range" (Es como si no se ejecutase de forma secuencial y bloquease la hoja antes de cambiar el atributo de la celda, a que se puede deber?
2º Problema:
Al ejecutar la siguiente macro:
Veo como escribe el valor 2 en la celda, pero al instante se cierra el excel diciendo que dejo de funcionar.
Gracias de antemano por la ayuda
1er problema:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Worksheet_Change(ByVal Target As Range)
Dim valor
'Desproteger hoja para poder realizar cambios
Worksheets("Circulación2").Unprotect "Pass"
Select Case Target.Address
1 - Hay estrellas en la circulación
Case "$Z$3"
valor = Target.Value
Range("Z4").Value = "No"
Select Case valor
Case "No"
Range("B4").Select
Selection.Locked = True
Case "Si"
Range("B4").Select
Selection.Locked = False
End Select
'Proteger hoja para activar los bloqueos
Worksheets("Circulación2").Protect "Pass" [1a opción]
End Select
'Proteger hoja para activar los bloqueos
Worksheets("Circulación2").Protect "Pass" [2a opción]
End Sub
Con la siguiente macro, pretendo bloquear la celda B4 dependiendo de la selección que se hace en la Z3, con la [1a Opción] me funciona bien, pero con la [2a Opción] (que creo que es la mas correcta) me da el siguiente fallo "Se ha producido el error '1004' en tiempo de ejecución: No se puede asignar la propiedad Locked de la clase Range" (Es como si no se ejecutase de forma secuencial y bloquease la hoja antes de cambiar el atributo de la celda, a que se puede deber?
2º Problema:
Al ejecutar la siguiente macro:
1
2
3
4
5
6
7
Private Sub Worksheet_Change(ByVal Target As Range)
Dim valor
Range("A2").Select
Selection.Value = 2
End Sub
Veo como escribe el valor 2 en la celda, pero al instante se cierra el excel diciendo que dejo de funcionar.
Gracias de antemano por la ayuda
Valora esta pregunta


0