我有一个我没有找到答案的重要问题,是否可以增加复选框的宽度和高度,是否可以将复选框导出到另一个工作表中? / p>
是否可以创建多个复选框,例如500行或1000行?
答案 0 :(得分:1)
到第二个问题..............按行填充多个CheckBox:
Sub BoxMaker()
For i = 1 To 4
ActiveSheet.CheckBoxes.Add(358.5, 50, 100, 60).Select
Next
Dim s As Shape
i = 2
For Each s In ActiveSheet.Shapes
s.Top = Cells(i, 1).Top
s.Height = Cells(i, 1).Height
s.Left = Cells(i, 1).Left
s.Width = Cells(i, 1).Width
i = i + 1
Next
End Sub
到第一个问题,只需更新 .Height 和 .Width
答案 1 :(得分:1)
关于导出,将复选框的值链接到工作表中的任何单元格并导出这些单元格值...这里有很多关于如何导出单元格数据的描述。
要将复选框链接到单元格,请使用
Sub test()
Dim S As Shape
Set S = ActiveSheet.Shapes(1)
S.ControlFormat.LinkedCell = "B1"
End Sub
将此添加到Gary的学生代码中......
Sub BoxMaker()
For i = 1 To 4
ActiveSheet.CheckBoxes.Add(358.5, 50, 100, 60).Select
Next
Dim s As Shape
i = 2
For Each s In ActiveSheet.Shapes
s.Top = Cells(i, 1).Top
s.Height = Cells(i, 1).Height
s.Left = Cells(i, 1).Left
s.Width = Cells(i, 1).Width
' add Cell Link
' 2nd parameter of Cells(i, 2).Address sets column of linked cell ... in this case column B
s.ControlFormat.LinkedCell = Cells(i, 2).Address
i = i + 1
Next
End Sub
首次点击复选框后,字段将被填充。