问题标签 [userform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4021 浏览

excel - 无法关闭用户窗体

让我设置环境。

这是在 Excel 中运行的 VBA 代码。

我有一个包含 msflexgrid 的用户窗体。此 flexgrid 显示客户列表和客户、销售人员、csr、mfg rep 和区域、分配。当您单击列时,假设在“区域”列下,另一个用户窗体打开以显示区域列表。然后单击您选择的区域,用户窗体消失,新区域取代旧区域。

这一切都很好,直到您单击您选择的区域,“区域”用户表单不会消失(它会闪烁)并且新区域不会转移基础用户表单。

我应该提到,当我单步执行代码时,它工作得很好。

我假设它与 flexgrid 有关,因为打开用户窗体的所有其他用户窗体(没有 flexgrids)都可以正常工作。

以下是一些代码示例:

** 来自 flexgrid 的单击事件显示区域用户窗体和区域用户窗体关闭时新区域的分配。

** 以下 Subs 用于 Territory 用户表单

我知道这是一个冗长的解释,但我是一个相当不错的 VBA 程序员,这让我很难过。

任何帮助将不胜感激。

0 投票
3 回答
3949 浏览

events - Excel VBA - 更新组合框时暂停事件

我有一个用 VBA for Excel 编写的应用程序,它接收实时数据馈送。每当数据发生变化时,都会在 VBA 中触发各种事件。

我也有一些带有组合框的用户窗体。我的问题是,当我单击组合框上的向下箭头并尝试进行选择时,当我从数据馈送中获得更新时,组合框会重置。我想做的是在 ComboBox 中进行选择时暂停事件,然后在完成后取消暂停。如何生成此功能?

0 投票
3 回答
3349 浏览

excel - 用户窗体取消按钮_间歇性_无响应?

随附的 VBA 程序适用于进度条用户窗体。一切都按预期工作,除了取消按钮间歇性无响应。

我断断续续地说,因为 95% 的时间我必须在程序停止之前多次单击取消按钮。我可以看到按钮单击事件被动画化,但该过程没有被中断。在按钮按下事件发生之前,似乎有什么东西正在从取消按钮中窃取焦点。

退出和窗口关闭按钮按预期响应一键。

我需要做什么才能使取消按钮正确响应?谢谢!

更新:我注意到,当我单击并按住取消按钮时,它会被踢回,而不是按钮保持“向下”。所以显然有些东西正在将按钮状态重置为向上,速度足够快,以至于该过程没有捕捉到向下状态以触发点击事件。

这是用户表单模块(名为 UserForm1)中的代码:

下面是调用 UserForm1 的模块(名为 Module1)的代码:

0 投票
5 回答
6111 浏览

vba - 将 VBA 中的 ProgressBar UserForms 显示为模态还是非模态更好?

将 VBA 中的 ProgressBar UserForms 显示为模态还是非模态更好?在 VBA 中开发进度指标的最佳实践是什么?

无模式用户窗体需要使用Application.Interactive = False,而模态用户窗体本质上会阻止与应用程序的任何交互,直到核心过程完成或被取消。

Application.Interactive = False但是,如果使用 Esc 键会中断代码执行,因此在 UserForm 和调用过程中都需要使用Application.EnableCancelKey = xlErrorHandler和错误处理 ( )。Err.Number = 18

资源密集型调用过程也可能导致无模式用户窗体中的事件失败CommandButton_ClickUserForm_Activate

一般来说,使用模式 UserForms 的进度指示器看起来更简单,因为正在执行的代码完全包含在 UserForm 模块中,并且不需要传递变量。

然而,使用模式 UserForms 作为进度指示器的问题是,每个需要进度指示器的过程都需要一个单独的 UserForm 模块,因为调用过程必须在 UserForm_Activate 过程中。

因此,虽然可以在无模式用户窗体中拥有一个可重用的进度指示器,但它的可靠性不如从多个模式用户窗体中执行代码。

哪种方式更好?

谢谢!

0 投票
1 回答
1210 浏览

vb.net - Windows 窗体的外观

刚开始使用 Visual Studio 2008,并希望将我的 VBA 用户窗体转换为 VB.NET,以便将我过时的UserForm控件升级为与操作系统匹配的较新的 Windows 窗体控件。

我在 Visual Studio 中创建的 Windows 窗体看起来很棒,但是当我在 PowerPoint 或 Excel 中加载它们时,窗体控件看起来和以前一样难看(例如普通的矩形按钮)。

有没有办法在 Visual Studio 中使用 VB.NET 在我的 Windows 窗体中使用现代控件?

0 投票
2 回答
15915 浏览

vba - VBA 如何使用右键单击在用户窗体中复制和粘贴?

我希望允许用户能够将值粘贴到 VBA 中 userForm 中的 TextBoxes 中。您可以很好地使用 Ctrl-v,但不是每个人都知道如何做到这一点。

如何使用右键菜单启用复制和粘贴?

0 投票
1 回答
4937 浏览

excel - 无法从用户窗体中读取按钮单击的值

我希望这是一个相对简单的问题,尽管我花了数小时进行网络搜索和使用 T&E 无济于事。希望有人可以提供帮助;o)

我有一个 excel 模块,它显示一个 UserForm 在进行大量处理之前获取一些输入数据。在用户窗体的底部有几个标记为“确定”和“取消”的命令按钮。我需要能够让用户更改选项按钮,然后单击确定或取消退出,我的模块将继续基于是否按下了“取消”。我似乎无法通过按下表单上的“取消”按钮来读取布尔结果。我 99% 确定这是某种公共/私人引用错误,但是我还没有获得足够的经验来弄清楚。这是代码片段:


(来自模块 1)

根据 Cancel 中的 True 或 False,我可以驱动程序的其余部分。


(UserForm2 代码)

而已。看起来应该很简单,但我很难过。TIA 寻求帮助!

0 投票
1 回答
491 浏览

vba - 脚本中的用户窗体从 Outlook 规则运行

基于http://support.microsoft.com/kb/306108我想创建一个自定义规则,显示自定义用户窗体而不是普通的旧 MsgBox。我写的是这样的:

CustomAlerts 是一个包含单个 ListBox 的用户窗体。

遗憾的是我的尝试不起作用——没有出现任何窗口。我究竟做错了什么?

0 投票
1 回答
12629 浏览

vba - 如何在 VBA 中更改用户窗体的标题栏文本?

我正在维护一个用 VBA 为 Excel 2002 (XP)/2003 编写的老式应用程序,并试图将其国际化。

为此,我动态读取翻译后的字符串,并通过更新其 .Caption 属性来更新我的用户窗体上的各种控件。

这适用于所有控件,但不适用于表单本身 - 当我更改表单的 .Caption 属性时,标题栏会继续显示“硬编码”值,而新值则显示在它的正下方,在表单本身的“画布”的顶部。

是否可以在显示后更改 UserForm 的标题栏文本,或者我必须在显示之前更改表单的 .Caption 属性,以便它反映在标题栏中而不是在画布/客户区?

我的代码看起来像这样:

正如我所说,分配pForm.Caption确实有效果 - 但它不会写入窗口的标题栏,而是直接在它下方。我在 Windows XP SP 3 上运行 Excel 2003。

0 投票
1 回答
529 浏览

vba - VBA 文本框失去对“Alt-Gr”的关注

我在 VBA 用户窗体上遇到了一个有趣的文本框行为:按 Alt-Gr 时,框失去焦点。这发生在为表单运行了一些 VBA 初始化代码之后。文本框既没有初始化代码也没有事件监听器。直接从 IDE 启动用户表单一切都很好。

我怀疑 MS Office 或 Windows 更新是造成这种行为变化的原因,但我无法确定。

任何人都知道问题是什么以及如何解决这个问题?感谢您的任何建议。

顺便说一句:VBA 在名为 Organice 的 CRM 应用程序中运行,该应用程序具有嵌入式 VBA 运行时环境。

斯坦比格尔