程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了检查另一个关闭的工作簿中的值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决检查另一个关闭的工作簿中的值?

开发过程中遇到检查另一个关闭的工作簿中的值的问题如何解决?下面主要结合日常开发的经验,给出你关于检查另一个关闭的工作簿中的值的解决方法建议,希望对你解决检查另一个关闭的工作簿中的值有所启发或帮助;

我在同一文件夹路径中有一个 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

大佬总结

以上是大佬教程为你收集整理的检查另一个关闭的工作簿中的值全部内容,希望文章能够帮你解决检查另一个关闭的工作簿中的值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。