9得票5回答
Excel用户窗体显示的大小不正确。

我在使用Excel UserForms时遇到了一个非常奇怪的问题:当我通过单击工作表中的命令按钮来显示表单时,表单的大小会显著变形,使其基本上无法使用。下面的图片说明了这一点。 调整前的表单大小(预期大小) 调整后的表单大小 我使用多屏幕设置工作,这个大小问题只在我没有额外显示器时出...

8得票2回答
在表单中保留类模块

假设我想在Excel VBA中制作一个自行车设计程序。我有一个类对象(cBike),其中包含一些默认设置。现在我想制作一个表单(如图所示),用于在将自行车存储到数据库之前更改这些设置。存储的方法(子程序)位于cBike中。 我可以将对象保存为表单代码中的公共变量,如下所示:: Publ...

8得票5回答
在VBA中,显示进度条UserForms是模态还是非模态更好?

在VBA中,显示ProgressBar UserForms是模态的还是非模态的更好?在开发VBA进度指示器方面有哪些最佳实践? 非模态的UserForms需要使用Application.Interactive = False,而模态的UserForms则会阻止与应用程序的任何交互,直到核心过...

8得票7回答
Excel VBA用户窗体 - 当某些内容发生变化时执行子程序

我有一个包含许多文本框的用户表单。每当这些文本框的值发生变化时,我需要通过调用子例程AutoCalc()基于文本框值重新计算我的最终结果值。 我大约有25个文本框,我不想为每个文本框单独添加Change()事件来调用所述子例程。有什么最快和有效的方法可以在某个值更改时调用AutoCalc()?

8得票1回答
如何在VBA表单上显示Excel的部分内容

我有一个.csv格式的文件,包含了A到S列中的一些记录,就像一个表格一样。我的完整程序可以插入/移除/删除/添加一些行、列,并编辑单元格值等操作。我已经编写了所有需要的操作,现在我正在尝试将其与GUI集成。 我想要在VBA用户窗体上显示从Ax1到最后一个有记录的列的单元格。我该如何做呢? ...

8得票3回答
VBA用户窗体文本框默认值和高亮显示

在我的用户窗体中,我想为我的文本框设置一个默认值,在焦点集中时会被突出显示。 Private Sub UserForm_Initialize() NameTextBox.Value = "Your Name Here" NameTextBox.SetFocus End Sub 当这...

8得票4回答
如何在多列列表框中获取所选值

我有一个多列列表框在我的用户窗体中,我想获取所有选定行中元素的值。这是我的用户窗体: 就像图片中一样,我想选择一行,然后点击“Associer”按钮,我可以获得此行的信息。 我只能获取第一列,即“CAN20168301436”,我想要从整行获取信息。 该怎么办? 这是我的按钮单击事件: P...

7得票3回答
在多屏幕上将用户窗体居中显示

我在网上搜索了一段时间,找到了一些解决方案,但似乎没有一个能帮助我。 我在Excel 2010中有一个用户窗体,我想让它在Excel窗口中居中。我有双显示器,它总是在两个显示器之间居中。我知道有一些属性可以编辑,比如StartUpPosition等,来控制窗体的位置,但更改这些参数似乎不起作...

7得票2回答
Excel VBA - 绕过LDAP管理限制

在用户窗体中,我有多个列表框: 活动目录(AD)中所有群组的列表; 从ListBox1中选择的群组列表; 这些选择的群组的唯一成员列表(因此使用字典,因为某些用户可以是多个群组的成员); 当前第一个和第二个列表正常工作,但当查询返回超过1000条记录时,我会遇到LDAP管理限制,导致运...

7得票1回答
有没有一种方法可以在IDE中显示用户表单而不是主机应用程序?

我在*.xlam插件中创建了一个用户窗体,并在IDE中创建了一个新的命令栏和按钮,但当我单击按钮时,用户窗体会在Excel中打开,并且焦点被强制从IDE中移开。有没有一种方法可以在IDE中打开用户窗体而不是宿主应用程序,而不必使用.Net COM Add-in? 以下是创建命令栏和按钮以及处...