2010-03-08 54 views

回答

0

有幾種方法可以做到這一點,但最簡單的,假定Excel 2007是:

Set cb = MyWorkSheet.CheckBoxes.Add(left, top, width, height) 
cb.LinkedCell = "$A$1" 
cb.Display3DShading = True 

你不得不嘗試着一點點與放置,因爲我不認爲有對齊控制的直接途徑與特定的細胞。另一種方法是使用Shapes收集工作表:

Set shape = MyWorkSheet.Shapes.AddFormControl(xlCheckBox, l, t, w, h) 

但是,請記住,上面的方法,所以你不能直接操作它的屬性返回Shape對象,而不是CheckBox對象。有類似的方法,像使用OLEObjects集合,但這只是增加更多的痛苦。

+0

這是使用互操作嗎? – 2010-03-08 19:12:54

+0

沒有。直VBA。如果您將其複製並粘貼到宏中(在Add方法中具有合適的值),您將會看到一個複選框鏈接到單元格A1。 – gvkv 2010-03-08 21:24:08

+0

另外請注意,儘管這告訴我如何添加它,它從來沒有真的在單元格中,但給了一個accacent答案,因爲真正的答案似乎是NO,你不能把一個窗體控件放在單元格中。 – 2010-03-09 20:08:23

相關問題