2:如果单元格区域不规则可以用下面代码:
Private Sub AddCheckBoxesInRange()
On Error Resume Next
Dim cell As Range
Dim CurrentRange As Range
Set CurrentRange = Selection
CurrentRange.NumberFormatLocal = ""
Application.ScreenUpdating = False
For Each cell In CurrentRange
ActiveSheet.CheckBoxes.Add(cell.Left, cell.Top, cell.Height, cell.Height).Select
With Selection
.Value = xlOff
.LinkedCell = cell.Address
.Display3DShading = False
.Characters.Text = ""
End With
Next
CurrentRange.Select
Application.ScreenUpdating = True
Set cell = Nothing
End Sub
表格中的批量复选框
不清楚你要求加复选框的位置是窗体还是表格,这里只给你发个表格里代码:
Dim i As Long
Dim sheetCheckbox1 As CheckBox
' 表格中批量加表格控件
With ActiveSheet
For i = 1 To 10
.Rows(i).RowHeight = 25
.Range("A" &i).Select
Set sheetCheckbox1 = .CheckBoxes.Add(8.4, Selection.top + 2, 100, 18)
sheetCheckbox1.Caption = "表格控件复选框" &i
Next i
' 表格中批量加窗体控件
For i = 1 To 10
.Rows(i).RowHeight = 25
.Range("A" &i).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Link:=False, DisplayAsIcon:=False, _
left:=Selection.left + Selection.Width, _
top:=25 * (i - 1) + 1, _
Width:=108, _
Height:=18).Select
'没找到如何改控件的标题方法
Next i
End With
方法中的参数.CheckBoxes.Add(left, top, width, height)中分别代表控件的位置左、上、尺寸的宽、高;
方法中的参数.OLEObjects.Add(ClassType,Link,DisplayAsIcon,left,rop,width,height)相应也是有位置、宽高的几个参数,用法接近。
思路应该是:将考察项目编号和学生基本情况表中所选定学生的学号添加到学生表现表中1)学生基本情况表中添加一个是否型字段(YN)。
2)为学生基本情况表建立数据表样式窗体(或连续窗体),作为子窗体插入纪录增加主窗体,不设链接字段。
3)建立一个追加查询,将学生基本情况表的学号和纪录增加窗体的项目编号控件值添加到学生表现表,条件为:学生基本情况表.YN=True
4)纪录增加主窗体上添加动作按钮,用以运行这个追加查询
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)