如何解决检查另一个关闭的工作簿中的值
我在同一文件夹路径中有一个 excel 文件和名称(测试 1)。 它在“C3”范围内的(“Sheet1”)上有一个值。 我想在不打开工作簿的情况下检查这个值。
Sub Check()
Application.ScreenUpdating = False
Application.displayStatusBar = False
Application.EnableEvents = False
Dim mydata As String
Dim wb As Workbook
Set wb = Workbooks.Open(ThisWorkbook.Path & "\test1.xlsx")
If wb.Worksheets("Sheet1").Range("C3").Value = "a9a" <> Empty Then
MsgBox "The value is correct",64
Else
myError:
MsgBox "The value is incorrect",64
End If
Application.ScreenUpdating = True
Application.displayStatusBar = True
Application.EnableEvents = True
End Sub
解决方法
您可以使用 ADO(参见 https://docs.microsoft.com/en-us/previous-versions/office/troubleshoot/office-developer/transfer-excel-data-from-ado-recordset)快速读取另一个工作簿中的数据而无需打开它。工作样本:
Option Explicit
Sub Check()
Dim con As Object,rst As Object,tFilePath As String
Set rst = CreateObject("ADODB.Recordset")
Set con = CreateObject("ADODB.Connection")
tFilePath = ThisWorkbook.Path & "\test1.xlsx"
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & tFilePath & ";" & _
"Extended Properties='Excel 12.0;HDR=NO';"
rst.Open "SELECT * FROM [Sheet1$C3:C3]",con,3,1
If rst.Fields(0).Value = "a9a" Then
MsgBox "The value is correct",64
Else
MsgBox "The value is incorrect",64
End If
rst.Close: Set rst = Nothing
con.Close: Set con = Nothing
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。