如何在Excel电子表格中为每行添加表单控件到单元格

如何在excel中添加一个窗体控件到单元格中,我知道我可以绘制它,但是我需要使它成为每一行的成员,并且它是附加到该单元格/行的值。

有几种方法可以做到这一点,但最简单的,假设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集合,但这只是增加了更多的痛苦。