我正在尝试为一个部门创建一个工具,他们必须审查与提交的文档相关的多达 85 种不同标准。每个标准最多可以有 27 分来回答“满足”、“不满足”或“不完整”。最终目标是填写“未满足”或“不完整”的原因,以便为申请人提供建议。
我需要创建多个带有三个选项按钮(activex)的组。对于这一标准 (CE2),我使用以下 vba 代码,该代码应填充 27 组 3 个选项按钮。即使我完全按照教程中演示的方式进行操作,我还是收到错误消息。
错误消息是运行时错误“1004”:应用程序定义或对象定义
Sub AddOptionCE2()
j = 1
For Each cell In Range("S8:U35")
Set obj = OLEObjects.Add(classtype:="Forms.OptionButton.l", Left:=cell.Left + 1 / 3 * cell.Width, Top:=cell.Top * 1.02, Width:=cell.Width / 3, Height:=cell.Height * 0.8)
With obj
.Object.Caption = ""
.LinkedCell = cell.Address
.Object.GroupName = j
n = n + 1
If n = 3 Then
j = j + 1
n = 0
End If
End With
cell.Font.Color = vbWhite
cell.Value = False
Next
End Sub
我运行了代码,应该发生的是三个选项按钮组应该填充在第 8-35 行的 s-u 列中。
OLEObjects
是 Sheet
对象classtype:="Forms.OptionButton.l"
- 最后一个 l
应该是 1
。Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", Left:=cell.Left + 1 / 3 * cell.Width, Top:=cell.Top * 1.02, Width:=cell.Width / 3, Height:=cell.Height * 0.8)