Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
Excel 在模块中使用用户表单时遇到问题_Excel_Userform_Vba - Fatal编程技术网

Excel 在模块中使用用户表单时遇到问题

Excel 在模块中使用用户表单时遇到问题,excel,userform,vba,Excel,Userform,Vba,我最初使用Application.Inputbox接受用户输入,效果很好。但当我想增加选项时,它超过了254个字符的限制。因此必须使用userform。我不熟悉用户表单。 我使用用户输入来选择case语句。 用户表单基本上包含一个组合框(CmbType)、一个附加标签和commandbutton(ok)。它看起来很好,并在属性中添加了RowSource属性。执行时可以看到所有选项。 用户表单完整代码: Sub ok_Click() Type = CmbType.Value Unload Use

我最初使用Application.Inputbox接受用户输入,效果很好。但当我想增加选项时,它超过了254个字符的限制。因此必须使用userform。我不熟悉用户表单。 我使用用户输入来选择case语句。 用户表单基本上包含一个组合框(CmbType)、一个附加标签和commandbutton(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
…..
…..

我得到了userform,但它没有结束,基本上没有转到case语句。我需要的另一个帮助是创建一个数字,用于case语句,如1-Fruits、2-vegets等。

看起来您正在处理变量范围

创建一个名为globals的模块。在模块中声明

Public iType as integer
您可以从项目中的任何位置访问它。 不要使用变量名类型。这是一个保留字

在表单“确定”按钮中,单击“使用”

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语句的更多信息


另外,查看“选项显式”。在每个表单和模块的顶部添加该选项,可以让您知道您试图使用的变量等不在范围内的问题。

看起来您正在处理变量范围

创建一个名为globals的模块。在模块中声明

Public iType as integer
您可以从项目中的任何位置访问它。 不要使用变量名类型。这是一个保留字

在表单“确定”按钮中,单击“使用”

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语句的更多信息

另外,查看“选项显式”。在每个表单和模块的顶部添加该选项,可以让您了解一些问题,例如您试图使用的不在范围内的变量