【发布时间】:2015-06-29 16:22:29
【问题描述】:
我正在尝试构建一段 VBA,它会在每次打开工作簿时自动执行。这段代码应该首先检查该工作簿在该特定日期之前是否已打开,其次,如果尚未打开,则应刷新数据连接,然后关闭/保存工作簿。
我已经开发了以下我认为应该可以工作的代码(它没有)。
Private Sub Workbook_Open()
Dim wsSheet As Worksheet
On Error Resume Next
Set wsSheet = Sheets("book_helper")
On Error GoTo 0
If wsSheet Is Nothing Then
Sheets.Add.Name = "book_helper"
ActiveWorkbook.RefreshAll
Sheets("book_helper").Range("A1").Value = Date
ActiveWorkbook.Close savechanges:=False
Else
If Sheets("book_helper").Range("A1").Value < Date Then
ActiveWorkbook.RefreshAll
Sheets("book_helper").Range("A1").Value = Date
ActiveWorkbook.Close savechanges:=False
End If
End If
End Sub
当我打开此工作簿时,它根本不做任何事情(不打开并且不保存日期)。有没有更好的方法来做到这一点。
【问题讨论】: