我已经从其他地方改编了这段代码。单击表单上的按钮意味着告诉我Excel电子表格上给定单元格范围(C1:C500)中非空行的数量......
Sub ImportDataFromRange()
Dim excelapp As Excel.Application
Set excelapp = CreateObject("excel.application")
excelapp.Workbooks.Open (Application.CurrentProject.Path & "\MattExcelFile.xls")
Dim myrange As Range
Set myrange = excelapp.Sheets("Sheet1").Range("C1:C500")
Dim numberofrows As Integer
numberofrows = Excel.Application.WorksheetFunction.CountA(myrange)
MsgBox numberofrows
Debug.Print excelapp
excelapp.Quit
Set excelapp = Nothing
End Sub
Private Sub Command0_Click()
ImportDataFromRange
End Sub
在打开 MS-Access 并通过我创建的按钮运行此代码时,它第一次可以正常工作,但之后就不行了。关闭并重新打开 MS-Access 会重置行为,因此它会在打开后第一次运行时再次正常工作,但以后再也不会正常工作了。
在第一次运行时,这是存储在维度中的(正确的)数据:
excelapp
= "C:\Users\Matt\Desktop\MattExcelFile.xls"
numberofrows
= 4
在随后的运行中,这是存储在维度中的(不正确的)数据:
excelapp
= "微软 Excel"
numberofrows
= 500
有人可以帮我处理一下这里的代码,这样我就可以在同一个 MS-Access 会话中多次运行代码并每次都获取维度中的正确数据吗?非常感谢。