微软excel:简单的gui在VBA中

我刚开始学习VBA,现在正在编写第一个GUI代码。 所以我应该创build一个用户表单,用户可以填写许多不同的数据来比较他们的退休选项。 我有我的工作簿中的工作表,我可以生成值。 但是,我不知道如何参考现有的工作表,以便新用户在用户表单中input的随机数据将做正确的计算,并给用户一个比较表。

你能帮忙的话,我会很高兴!

Sub cancelCommand_Click() Unload Me End Sub Sub previousCmd_Click() MultiPage1.Value = MultiPage1.Value - 1 UpdateButtons End Sub Sub nextCmd_Click() MultiPage1.Value = MultiPage1.Value + 1 UpdateButtons End Sub Sub finishCmd_Click() Worksheets("Conclusion").Activate Unload Me End Sub 

通过调用命令button代码中的ThisWorkbook对象与工作簿中的数据进行交互。

要以最简单的forms进行testing,请执行以下操作:

创build一个新的工作簿

创build一个新的用户表单

添加一个文本框

添加一个button

双击button,你会自动被带到一个叫做“Private Sub CommandButton1_Click()”的东西,编码如下。

 Private Sub CommandButton1_Click() ThisWorkbook.Application.ActiveCell.Value = TextBox1.Value Unload Me End Sub 

移动到工作表上的任何单元格,然后运行用户表单。 在文本框中input一些文本,然后按下button。 无论您input到文本框中,都会显示在刚才的单元格中。

您可以尝试的另一种变体,而不是ThisWorkbook.Application.ActiveCell.Value = TextBox1.Value行也可能是:

ThisWorkbook.Sheets(1).Range("A2").Value="TextBox1.Value

上面的代码将Make Sheet1!A2 =每次input到文本框中。 底线你通过范围与Excel单元沟通。 有关Range可以使用的所有不同方法和属性,请参见Range对象(Excel) 。