Código VBA no funciona en Excel 2010
Publicado por Pablo (77 intervenciones) el 24/05/2013 12:53:16
En una hoja Excel 2003 tengo una casilla de verificación que al activarla abre un cuadro amarillo dónde se pueden hacer anotaciones:
El código es:
Pero en Excel 2010 no funciona. En principio porque parece ser que tengo deshabilitadas mis propias macros por peligrosas. He descubierto cómo firmar mis macros digitalmente y ya parece ser que no me las deshabilita, pero no funcionan.
Si activo la casilla no se abre el cuadro y al desactivarla me sale un error en tiempo de ejecución que marca:
como fuente del error. Eso en principio me hace pensar que la macro se ejecuta (aunque el recuadro no sale).
Pregunta: ¿Qué diferencias en la programación VBA hay entre Excel 2003 y Excel 2010 para que no me funcione.
Es que no sé dónde acudir.
El código es:
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
29
30
31
Sub activar_recuadro()
Dim shp As Shape
Dim myDocument As Worksheet
If Range("A1").Value = True Then
Set myDocument = Worksheets("hoja1")
Set shp = myDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 188, 213, _
227, 72)
With shp
.Name = "rectangulo_amarillo"
.Fill.ForeColor.RGB = RGB(255, 0, 255)
.Fill.Solid
End With
'Texto del interior del recuadro amarillo:
With shp.TextFrame
.Characters.Text = "DIRECCION DE ENTREGA." & _
Chr(13) & "Empresa: " & Chr(13) & "Dirección: " & Chr(13) & "" & Chr(13) & "Contacto: "
End With
Else
'Cierre del recuadro.
ActiveSheet.Shapes("rectangulo_amarillo").Delete
End If
End Sub
Pero en Excel 2010 no funciona. En principio porque parece ser que tengo deshabilitadas mis propias macros por peligrosas. He descubierto cómo firmar mis macros digitalmente y ya parece ser que no me las deshabilita, pero no funcionan.
Si activo la casilla no se abre el cuadro y al desactivarla me sale un error en tiempo de ejecución que marca:
1
ActiveSheet.Shapes("rectangulo_amarillo").Delete
Pregunta: ¿Qué diferencias en la programación VBA hay entre Excel 2003 y Excel 2010 para que no me funcione.
Es que no sé dónde acudir.
Valora esta pregunta


0