Microsoft excel:VBA中的简单gui

时间:2014-06-12 23:48:14

标签: excel vba

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

任何帮助都会很好!

    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

1 个答案:

答案 0 :(得分:1)

通过调用Command按钮代码中的ThisWorkbook对象,您可以与工作簿中的数据进行交互。

要以最简单的形式对其进行测试,请执行以下操作:

创建新工作簿

创建新的用户表单

添加文本框

添加按钮

双击按钮,您将自动进入名为" Private Sub CommandButton1_Click()的内容。编码如下。

Private Sub CommandButton1_Click()

ThisWorkbook.Application.ActiveCell.Value = TextBox1.Value
Unload Me

End Sub

移动到工作表上的任何单元格,然后运行用户表单。在文本框中键入一些文本,然后按按钮。无论您输入到文本框中的是什么,都会显示在您所在的单元格中。

您可以尝试的其他变体而不是ThisWorkbook.Application.ActiveCell.Value = TextBox1.Value行也可能是:

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

上面的代码将生成Sheet1!A2 =每次都输入到文本框中的内容。通过范围与Excel单元格通信的底线。有关可以与Range一起使用的所有不同方法和属性,请参阅Range Object (Excel)