在Excel VBA中为用户提供范围选择工具/实用程序

我正在尝试在Excel 2007 VBA中开发用户表单,并希望为用户提供范围选择图标,如下所示: 但是,我还没有找到任何内置的表单设计工具或任何提供此功能的在线工具,或者至少给了我一个想法。如果有人对此有任何想法,我将非常感谢他们的帮助。     
已邀请:
此控件称为RefEdit控件。 要使用它,您必须首先将其添加到工具箱窗口,方法是右键单击工具箱窗口并选择Additional Controls ....然后选择RefEdit.Ctrl并关闭对话框。 现在,您可以在工具箱中选择它并将其放在表单上。     
使用RefEdit.Ctrl的另一种方法是挂钩TextBox控件的一些未记录的功能并使用Application.InputBox函数。 TextBox控件有两个属性未出现在“属性”对话框中,允许您在右侧添加按钮。它们是DropButtonStyle和ShowDropButtonWhen。单击该按钮时,它将触发控件的DropButtonClick事件,您可以在其中显示输入框。 首先在表单上放置一个TextBox控件。然后将以下内容添加到UserForm_Initialize过程:
Private Sub UserForm_Initialize()
    txtRefersTo.DropButtonStyle = frmDropButtonStyleReduce
    txtRefersTo.ShowDropButtonWhen = frmShowDropButtonWhenAlways
End Sub
然后按如下方式向DropButtonClick事件添加事件处理程序,以使用Application.InputBox对话框捕获范围:
Private Sub txtRefersTo_DropButtonClick()
    Me.Hide
    txtRefersTo.Text = Application.InputBox("Select the range", "Range Picker", txtRefersTo.Text, Type:=8)
    Me.Show vbModal
End Sub
这种方法的主要优点是它允许您将控件放在框架内或单独的选项卡上,而不会遇到与RefEdit.Ctrl相关的问题。缺点是它需要一个单独的对话框来与Excel交互。     

要回复问题请先登录注册