¿como inserto un checkbox en una hoja con una macro?

04/05/2007 - 21:16 por Jane Murillo | Informe spam
Alguno de ustedes ha trabajado con macros en excel y que me pueda ayudar, lo
que necesito saber es como puedo insertar un checkbox en una celda
determinada, a través de una macro, siempre y cuando una celda anterior tenga
cierta información, el archivo de excel ya esta creado y en el archivo
anexarle los checkbox por cada celda que tenga información, puede variar de 1
has ta N
 

Leer las respuestas

#1 Héctor Miguel
05/05/2007 - 03:29 | Informe spam
hola, Jane !

... como puedo insertar un checkbox en una celda determinada
a traves de una macro, siempre y cuando una celda anterior tenga cierta informacion
el archivo de excel ya esta creado... anexarle los checkbox por cada celda que tenga informacion
puede variar de 1 hasta N



comprenderas que de este lado del mensaje... no se alcanza a 'apreciar' [p.e.]...
-> CUAL es la 'celda determinada'
-> ni cual es la 'cierta informacion'... NI cual seria 'la celda anterior' [izquierda, arriba]
-> ni como determinas cuales celdas [que contengan informacion] pudieran ser 'candidato' a recibir un checkbox
-> tampoco comentas si requieres checkboxes del tipo ms-forms o del tipo controles de excel
[ni otra serie de 'detalles' que podrian 'hacer la diferencia' entre proponer algo 'util' -o no- para tu necesidad 'real'] :D

en via de mientras, los siguientes ejemplos asumen que conoces vba y no te seria dificil adaptar a otras 'realidades' :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub Incrustar_CheckBox_MSForms()
With Worksheets("hoja1")
With .OLEObjects.Add( _
ClassType:="Forms.CheckBox.1", _
Left:=.Range("b5").Left, _
Top:=.Range("b5").Top, _
Width:=.Range("b5:d5").Width, _
Height:=.Range("b5:b6").Height)
.Name = "Casilla 1"
.Object.Caption = "Activar esta opcion !"
.LinkedCell = "$A$1"
End With
End With
End Sub

Sub Incrustar_CheckBox_Formularios()
With Worksheets("hoja1")
With .CheckBoxes.Add( _
Left:=.Range("b5").Left, _
Top:=.Range("b5").Top, _
Width:=.Range("b5:d5").Width, _
Height:=.Range("b5:b6").Height)
.Name = "Casilla 1"
.Text = "Activar esta opcion !"
.LinkedCell = "$A$1"
End With
End With
End Sub

Preguntas similares