2015-08-15 79 views
1

我最初使用Application.Inputbox接受工作正常的用户输入。但是当我想增加选项时,它超过了254个字符的限制。因此不得不使用userform。我是用户形式的新手。 我使用用户输入来选择案例陈述。 用户表单基本上包含一个组合框(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 
….. 
….. 

我收到用户窗体,但它不打烊,基本上不会去的情况下statements.One更多的帮助,我需要的是创造一个数字用于像1-Fruits,2-Vegetables等情况说明中。

回答

0

看起来你正在处理可变范围。

创建一个名为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语句如何使用更多的信息。 http://www.techonthenet.com/excel/formulas/case.php

另外,请查看“Option Explicit”。在每个表单和模块的顶部添加它,可以让你知道你正在尝试使用的变量之类的问题,这些问题不在范围之内。