Visual Basic para Aplicaciones - Mostrar / Ocultar textbox

Life is soft - evento anual de software empresarial
 
Vista:

Mostrar / Ocultar textbox

Publicado por Pablo (11 intervenciones) el 29/05/2012 11:27:01
He hecho una macro para mostrar un cuadro de texto en una hoja excel.
La macro la he asignado a una casilla de verificación en la que el usuario la muestra al marcar la casilla.
Necesito que el cuadro de texto desaparezca al desmarcar la casilla.
He usado el asistente para macros y he creado una macro para hacer desaparecer el cuadro de texto, pero cuando la llamo en el procedimiento de la casilla de verificación no funciona.
Alguien me podría decir dónde encontrar información sobre las propiedades de los cuadros de texto en Excel.
Lo que he encontrado es para controles dentro de formularios, pero no es lo mismo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mostrar / Ocultar textbox

Publicado por Pablo (11 intervenciones) el 30/05/2012 13:17:38
Gracias Juan, no quiero molestarte.
Al final he encontrado información buscando por Shape.
He hecho la macro y me funciona en excel 2010, pero no en 2003 (mientras media oficina tengamos una versión y la otra media otra, va a ser un problema).
El código es este:

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
Sub Direccion_De_Entrega()
' La dirección de entrega no es algo habitual.
' Si ésta es diferente de la de instalación, aparecerá un recuadro amarillo dónde se pondrá
' el nombre de la empresa, dirección y contacto.
 
    'Celda dependiente del estado de la casilla de verificación.
    If Range("S47").Value = True Then
 
'Apertura del recuadro.
  Dim shp As Shape
Set shp = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 180.75, 212.25, _
        226.5, 72)
    With shp
        .Line.Visible = True
        .Fill.ForeColor.RGB = RGB(255, 255, 0)
        .Fill.Transparency = 0
        .TextFrame2.TextRange.Text = "DIRECCION DE ENTREGA." & _
        Chr(13) & "Empresa:   " & Chr(13) & "Dirección:   " & Chr(13) & "" & Chr(13) & "Contacto:   "
        .Name = "Dir_entrega"
    End With
 
    Else
'Cierre del recuadro.
 
    ActiveSheet.Shapes("Dir_entrega").Delete
 
    End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar / Ocultar textbox (Solucionado)

Publicado por Pablo (11 intervenciones) el 05/06/2012 23:51:02
Al final he dado con ello:

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
Sub abrir_cuadro()
Dim shp As Shape
Dim myDocument As Worksheet
 
If Range("b3").Value = True Then
 
Set myDocument = Worksheets("hola")
Set shp = myDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, 188, 213, _
        227, 72)
        With shp
        .Name = "rectangulo_amarillo"
        .Fill.ForeColor.RGB = RGB(255, 255, 0)
        .Fill.Solid
        End With
    'Después de mucho rebuscar aquí está la diferencia con Excel 2010
    With shp.TextFrame
    .Characters.Text = "DIRECCION DE ENTREGA." & _
        Chr(10) & "Empresa:   " & Chr(10) & "Dirección:   " & Chr(10) & "" & Chr(10) & "Contacto:   "
    End With
 
Else
'Cierre del recuadro.
 
    ActiveSheet.Shapes("rectangulo_amarillo").Delete
 
    End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar