如何制作VBA脚本(在Command Button Click上运行)反映了我保存脚本后更改的数据?

时间:2018-01-23 18:10:54

标签: vba excel-vba excel

我对VBA很陌生,我不明白什么不起作用。

我有这个简单的代码:

Sub CommandButton1_Click()

Dim Lunch As Integer
Dim wb As Excel.Workbook
Dim objEx As New Excel.Application

Set wb = objEx.Workbooks.Open("C:\Users\johndoe\Desktop\Proposal.xlsm")

Lunch = wb.Sheets("Calculator").Cells(14, 4)

If Lunch > 0 Then
TextBox1.Text = TextBox1.Text & Lunch & " lunches in the last month"
End If

End Sub

代码(这是一段更大的代码),按照我想要的方式工作,除了在我保存VBA代码后如果午餐号码更改(在计算器表单上),我单击CommandButton再次运行代码,它不反映这些新信息。

如果我进入VBA项目并再次保存,然后单击按钮运行它,它将使用更新的信息。我不明白发生了什么或者我该如何解决它。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果它们相同,则无需重新打开文件,您必须使用不同的方法:

Sub CommandButton1_Click()

Dim Lunch As Integer
Dim wb As Workbook


Set wb = ThisWorkbook

Lunch = wb.Sheets("Calculator").Cells(14, 4)

If Lunch > 0 Then
  TextBox1.Text = TextBox1.Text & Lunch & " lunches in the last month"
End If

Set wb = Nothing
End Sub