我正在尝试制作一个重置按钮,它将替换用户在多个组合框中使用值TOTAL
选择的任何值。使用记录宏我选择了组合框,但我无法弄清楚如何插入值。以下代码给出了424错误。
ActiveSheet.Shapes.Range(Array("ComboBox2")).Select.Value = TOTAL
我添加到宏的部分是.Value=TOTAL
任何人都知道我应该怎么做?请注意,我不想清除组合框;我想给他们一个特定的价值。
答案 0 :(得分:0)
OLEFormat.Object.ListIndex
选择项目。OLEFormat.Object.Object.ListIndex
(请注意,在这种情况下,列表中的第一项具有索引0)。 然后遍历要重置的所有组合框,并将ListIndex
设置为项"TOTAL"
的索引。在此示例中,项"TOTAL"
位于列表的第一位,因此对于表单组合框(如果使用)ListIndex = 1
和ActiveX组合框ListIndex = 0
。 HTH
(您可能正在使用ActiveX组合框,但在示例中,仅使用旧的表单组合框)。
Sub ResetToTotal2()
Dim combos
Dim combo
Dim comboObject
combos = Array("ComboBox1", "ComboBox2", "ComboBox3")
For Each combo In combos
Set comboObject = ActiveSheet.Shapes(combo).OLEFormat.Object
If TypeName(comboObject) = "DropDown" Then
comboObject.ListIndex = 1
Else
comboObject.Object.ListIndex = 0
End If
Next combo
End Sub