如何使用在主模块中输入到userform的数据

时间:2014-07-01 16:08:26

标签: excel vba textbox userform

我对使用VBA进行编码非常新。我有一个包含五个TextBox的用户表单。用户将在最后四个TextBox中的第一个TextBox和单元格位置(例如A1)中输入一个整数。我希望这些数据在主模块中使用。我需要在循环中使用整数,即循环直到计数器达到整数。我需要使用单元格位置来开始访问不同的数据集,这些数据集可能位于工作表中的任何位置。

我无法在主模块中访问这些数据。我当前在用户单击“确定”按钮时隐藏表单。为了测试我的代码,我只是将TextBoxes中的数据写入单元格。

主模块的代码:

 Sub Sort2Stack()

 UserInput.Show

 Cells(5, 22).Value = TestPeriod.Value 'integer entered in TextBox 1
 Cells(6, 22).Value = YMLoc.Value      'cell location entered in TextBox 2
 Cells(7, 22).Value = YFLoc.Value      ' .
 Cells(8, 22).Value = NMLoc.Value      ' .
 Cells(9, 22).Value = NFLoc.Value      'cell location entered in TextBox 5

 End Sub

我得到运行时错误424,需要对象。这可能很简单,我已经搜索了一段时间 - 这是新的。

请指教。提前谢谢!

2 个答案:

答案 0 :(得分:0)

Cells(5, 22).Value = UserInput.TestPeriod.Text

我认为您需要引用您的用户表单来获取值。假设你真的只是隐藏表单而不是卸载它。在程序结束时,在End Sub之前,你应该

Unload UserInput

让表单没有内存。

答案 1 :(得分:0)

您还可以在主模块中声明公共变量,并从表单中访问它们。您可以将变量设置为等于特定按钮单击事件上文本框的当前文本。