提问人:Ryan 提问时间:11/7/2023 更新时间:11/7/2023 访问量:65
工作表方法只能从 Microsoft Access 工作一次 (VBA Excel)
Worksheets method only works once (VBA Excel) from Microsoft Access
问:
代码运行完美,直到我再次运行代码。 无论出于何种原因,它只运行一次。之后,我需要重新启动 应用程序使其再次工作。
给出问题的代码 接下来的几行代码:
With Worksheets("sheet")
.Range("D3").Value = "000"
.Range("D4").Value = "111"
End With
The error is the next one:
对象“_Global”的方法“工作表”失败
完整代码:
Private Sub Method()
Dim objExcel As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Dim objRange As Excel.Range`
Dim wb As Workbook
For Each wb In Workbooks
wb.Close SaveChanges:=False
Next wb
Set objExcel = New Excel.Application
objExcel.Visible = True
Set objBook = objExcel.Workbooks.Open("... path to .xlsm")
objExcel.EnableEvents = True
With Worksheets("sheet")
.Range("D3").Value = "000"
.Range("D4").Value = "111"
End With
objExcel.DisplayAlerts = False
objBook.save
objExcel.DisplayAlerts = True
objExcel.Quit
'Close the objects
Set objSheet = Nothing
Set objBook = Nothing
Set objExcel = Nothing
ExitHere:
Exit Sub
HandleError:
MsgBox Err.Description, vbExclamation, "Excel_error " & Err.Number
End Sub
我尝试搜索类似的症状,但没有找到任何有效的方法。 - 测试后假设它是 objExcel.EnableEvents = True - 提前关闭对象 - 未正确声明变量
我还检查了重写代码的不同方法,并尝试使用工作表而不是工作表。
甚至开始怀疑这是否是我的 Microsoft Access 数据库版本的故障。当前使用的是 2016 版本。
提前感谢您的帮助, 亲切问候
答: 暂无答案
评论
With objBook.Worksheets("sheet")
objBook.Close
objBook.save