在模块中使用用户表单时遇到问题
Having problems using user forms in module
我最初使用 Application.Inputbox 来获取用户输入,效果很好。但是当我想增加选项时,它超过了 254 个字符的限制。因此不得不使用用户窗体。我是用户表单的新手。
我使用用户输入来选择案例陈述。
用户窗体基本上包含一个组合框 (CmbType)、一个附加标签和命令按钮 (ok)。它看起来不错,并在 属性 中添加了 RowSource 属性。执行时可以看到所有选项。
用户表单完整代码:
Sub ok_Click()
Type = CmbType.Value
Unload UserForm1
End Sub
模块代码:
Sub Ingredients()
Dim statements
UserForm1.Show
Select Case Type
Case Is= “Fruits”
….
Case Is =”Vegetables”
…
End Select
Unload UserForm1
…..
…..
我正在获取用户表单,但它没有关闭并且基本上不会处理案例 statements.One 我需要的更多帮助是创建一个数字以用于 case 语句,例如 1-Fruits,2-蔬菜等
看起来您正在处理变量范围。
创建一个名为 globals 的模块。在模块中声明
Public iType as integer
您可以从项目中的任何位置访问它。
不要使用变量名称 Type。是保留字。
在表单中点击确定按钮使用
iType = CmbType.Value
Unload me
在模块中使用
UserForm1.Show
Select Case iType
Case 1
'Fruits
Case 2
'Vegetables
Case Else
'Not sure what this food is
End Select
这里有更多关于如何使用 case 语句的信息。 http://www.techonthenet.com/excel/formulas/case.php
此外,请查看 "Option Explicit"。在每个表单和模块的顶部添加它将使您了解问题,例如您尝试使用的变量不在范围内。
我最初使用 Application.Inputbox 来获取用户输入,效果很好。但是当我想增加选项时,它超过了 254 个字符的限制。因此不得不使用用户窗体。我是用户表单的新手。 我使用用户输入来选择案例陈述。 用户窗体基本上包含一个组合框 (CmbType)、一个附加标签和命令按钮 (ok)。它看起来不错,并在 属性 中添加了 RowSource 属性。执行时可以看到所有选项。 用户表单完整代码:
Sub ok_Click()
Type = CmbType.Value
Unload UserForm1
End Sub
模块代码:
Sub Ingredients()
Dim statements
UserForm1.Show
Select Case Type
Case Is= “Fruits”
….
Case Is =”Vegetables”
…
End Select
Unload UserForm1
…..
…..
我正在获取用户表单,但它没有关闭并且基本上不会处理案例 statements.One 我需要的更多帮助是创建一个数字以用于 case 语句,例如 1-Fruits,2-蔬菜等
看起来您正在处理变量范围。
创建一个名为 globals 的模块。在模块中声明
Public iType as integer
您可以从项目中的任何位置访问它。 不要使用变量名称 Type。是保留字。
在表单中点击确定按钮使用
iType = CmbType.Value
Unload me
在模块中使用
UserForm1.Show
Select Case iType
Case 1
'Fruits
Case 2
'Vegetables
Case Else
'Not sure what this food is
End Select
这里有更多关于如何使用 case 语句的信息。 http://www.techonthenet.com/excel/formulas/case.php
此外,请查看 "Option Explicit"。在每个表单和模块的顶部添加它将使您了解问题,例如您尝试使用的变量不在范围内。