Codigo para imprimir o no una CheckBox

20/08/2003 - 20:21 por Mario Alberto | Informe spam
Tengo tres CheckBoxes, las cuales llamo "sg1", "sg2" y "sg3", vinculadas a
"seg1", "seg2" y "seg3" y quisiera cambiar la propiedad de imprimir de cada
una de ellas dependiendo de si están activas (se imprima la que esta activa)
y si no lo están (no se impriman). Se me ocurre el siguiente código, pero no
se cual sea la propiedad o método de CheckBox para imprimir o no el mismo.

Saludos

Mario Alberto


Sub Seguimiento()
If Sheets("Portada").Range("seg1") = True Then
'Que debo poner aquí para imprimir la casilla de verificación

ElseIf Sheets("Portada").Range("seg2") = True Then
'Que debo poner aquí para imprimir la casilla de verificación

ElseIf Sheets("Portada").Range("seg3") = True Then
'Que debo poner aquí para imprimir la casilla de verificación


ElseIf Sheets("Portada").Range("seg1") = False And
Sheets("Portada").Range("seg2") = False And Sheets("Portada").Range("seg3")
= False Then
'Que debo poner aquí para que no se impriman las casillas de
verificación

Else

End If
End Sub
 

Leer las respuestas

#1 Héctor Miguel
21/08/2003 - 09:55 | Informe spam
¿Que tal, Mario Alberto?

... tres CheckBoxes ("sg1", "sg2" y "sg3") vinculadas a "seg1", "seg2" y "seg3"
... cada una de ellas ... si están activas (se imprima ...) ... cual sea la propiedad [...]



==> La propiedad que buscas es: Shapes(x).ControlFormat.PrintObject
Solo una "observacion": al usar una estructura de "If ... ElseIf ... ElseIf ... (etc)"
al "cumplirse" (si se cumple) CUALQUIERA de ellos (If o ElseIf) "hara" que SE OMITAN los siguientes (ElseIf) :((
"debieras" usar una sentencia If ... Then [... Else] (o If ... End If) para cada uno de los objetos.

Ademas, para que NO "tengas que" escribir "tantas veces lo mismo" y ya que la secuencia numerica es consecutiva...
te propongo la siguiente modificacion:
==Sub NuevoSeguimiento()
Dim Fig As Integer
With Sheets("Portada")
For Fig = 1 To 3
If .Range("seg" & Fig) _
Then .Shapes("sg" & Fig).ControlFormat.PrintObject = True _
Else .Shapes("sg" & Fig).ControlFormat.PrintObject = False
Next
End With
End Sub
_______
Saludos,
Héctor.
MS-MVP

Preguntas similares