我对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项目并再次保存,然后单击按钮运行它,它将使用更新的信息。我不明白发生了什么或者我该如何解决它。
提前致谢。
答案 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