使用ActiveX ComboBox的动态范围ListFillRange,可以通过以下代码示例来实现:
首先,将一个ActiveX ComboBox控件添加到工作表上。
然后,将以下代码添加到VBA编辑器中的工作表模块中:
Private Sub Worksheet_Activate()
Me.ComboBox1.ListFillRange = "Sheet1!A1:A5" '设置初始范围
End Sub
Private Sub ComboBox1_Change()
Dim selectedRange As Range
Dim selectedValue As Variant
Set selectedRange = Range(Me.ComboBox1.Value)
selectedValue = selectedRange.Value
'根据选择的范围更新ComboBox的填充范围
Me.ComboBox1.ListFillRange = selectedValue
End Sub
这段代码在工作表激活时设置初始范围,然后在ComboBox的选择发生改变时,根据选择的范围更新ComboBox的填充范围。
在示例代码中,ComboBox的填充范围初始设置为Sheet1工作表的A1:A5范围。当ComboBox的选择范围发生变化时,执行ComboBox1_Change事件处理程序,它会根据选择的范围更新ComboBox的填充范围。
请注意,您需要将代码中的"ComboBox1"替换为您实际使用的ComboBox控件的名称,以及将"Sheet1!A1:A5"替换为您想要用作ComboBox填充范围的实际范围。