【问题标题】:how to put the select range dialog box onto an excel vba form as a gui control如何将选择范围对话框作为 gui 控件放到 excel vba 表单上
【发布时间】:2014-12-08 16:44:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: excel vba user-interface controls range


    【解决方案1】:

    这称为RefEdit 控件。

    可能需要通过右键单击控件工具箱并选择“附加控件”选项来启用此功能。向下滚动并选中RefEdit.Ctrl 的复选框。这会将图标添加到“控件工具箱”中(在我的屏幕截图中,它位于右侧第三行,位于第二行)。

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

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

    注意 如果用户表单显示为vbModeless,则此控件似乎无法正常运行。如果您不知道这意味着什么,那么您无需担心。表单的默认行为是.Show vbModal,它应该在该上下文中工作。另请参阅HERE,了解使用 RefEdit 控件时的其他潜在缺陷。

    【讨论】:

    • 谢谢大卫!我不知道,但我对 vbModeless 的含义很感兴趣,请您解释一下。另外,我发现 VBA 令人难以置信的令人沮丧的一点是:缺少对象模型,我可以在其中阅读每个编程结构,即使是在单击“记录”按钮时由于某种原因没有显示的结构。为什么?这个 RefEdit 控件选择一个范围。我很想在我可以操作的所有可用对象的列表中看到这一点。另一个示例是 ColorPicker,其中有人编写了有关 Color Gui 控件的代码。我很想知道用 MSdoco4XL 写在哪里
    • 没有单一的 VBA 对象模型。但是 Excel 对象模型应该可以帮助您:here。在 Excel 中,几乎所有内容都由宏记录器“记录”。 vbModeless 显示一个表单,同时还允许用户与 Excel 应用程序进行交互。 vbModal 这是默认设置,不允许与 Excel 应用程序交互。
    • 您可能还会发现所有VBA Statements 的文档很有用。
    • 另外,如果这个答案有助于解决您的问题,请考虑accepting the answer
    • 谢谢大卫,你知道为什么没有单一对象模型吗?
    猜你喜欢
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多