微软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) 。