Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将“选择范围”对话框作为gui控件放在excel vba窗体上_Excel_Vba_User Interface_Controls_Range - Fatal编程技术网

如何将“选择范围”对话框作为gui控件放在excel vba窗体上

如何将“选择范围”对话框作为gui控件放在excel vba窗体上,excel,vba,user-interface,controls,range,Excel,Vba,User Interface,Controls,Range,一些内置的excel公式和函数要求您选择一个范围,它们为您提供了一个gui控件 如何将这些范围GUI控件之一合并到VBA表单中,以允许用户选择范围 此选择范围GUI控件的示例可在下面的“创建新公式”规则(用于条件格式)中找到 这称为RefEdit控件 您可能需要通过右键单击控件工具箱并选择“其他控件”选项来启用此功能。向下滚动并选中RefEdit.Ctrl框。这将把图标添加到控件工具箱中(它是我截图中第二行右起第三个图标) 您可能还需要从VBE中的引用启用此功能: 这些控件根据用户选择的范围

一些内置的excel公式和函数要求您选择一个范围,它们为您提供了一个gui控件

如何将这些范围GUI控件之一合并到VBA表单中,以允许用户选择范围

此选择范围GUI控件的示例可在下面的“创建新公式”规则(用于条件格式)中找到


这称为
RefEdit
控件

您可能需要通过右键单击控件工具箱并选择“其他控件”选项来启用此功能。向下滚动并选中
RefEdit.Ctrl
框。这将把图标添加到控件工具箱中(它是我截图中第二行右起第三个图标)

您可能还需要从VBE中的引用启用此功能:

这些控件根据用户选择的范围返回地址字符串


注意如果显示用户窗体
vbModeless
,则此控件似乎无法正常运行。如果你不知道这意味着什么,那么你就不必担心了。表单的默认行为是
.Show vbModal
,它应该在该上下文中工作。有关使用参照编辑控件时的其他潜在陷阱,请参见。

谢谢David!我不知道,但我对vbModeless的意思很感兴趣,你能解释一下吗。另外,我发现VBA的另一个令人沮丧的地方是:缺少对象模型,我可以在其中通读每一个编程结构,即使是那些由于某种原因在单击“录制”按钮时没有显示的结构。为什么?此参照编辑控件用于选择范围。我很想在我可以操作的所有可用对象的列表中看到这一点。另一个例子是ColorPicker,其中有人编写了有关颜色Gui控件的代码。我很想知道MSDoco4xl在哪里写的,没有单一的VBA对象模型。但是Excel对象模型应该可以帮助您:。在Excel中,几乎所有内容都由宏记录器“记录”
vbModeless
显示表单,同时允许用户与Excel应用程序交互<代码> VBMODATION/CODE >缺省,不允许使用Excel应用程序。您也可以找到所有有用的文档。此外,如果这个答案有助于解决您的问题,请考虑。谢谢戴维,您知道为什么没有单一对象模型吗?