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

我用VBA编码很新。 我有一个用五个TextBoxes的用户窗体。 用户将在第一个文本框和最后四个文本框中的单元格位置(例如A1)中input一个整数。 我想要在主模块中使用这些数据。 我需要在循环中使用整数,即循环,直到计数器达到该整数。 我需要使用单元格位置开始访问不同的数据集,这些数据集可能在工作表中的任何位置。

我在主模块中访问这些数据时遇到问题。 当用户点击确定button时,我目前隐藏窗体。 为了testing我的代码,我只是将文本框中的数据写入单元格。

来自主模块的代码:

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,所需的对象。 这可能很简单,我已经search了一段时间 – 新的这一点。

请指教。 先谢谢你!

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

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

 Unload UserInput 

把内存拿出来。

您也可以在主模块中声明公共variables并从窗体访问它们。 您可以在特定的button单击事件中将variables设置为等于文本框的当前文本。