да, вы можете подключиться к файлу Excel, используя DAO или ADO, из VBA. Иногда это полезный трюк. Например, я раздаю сводный отчет нескольким пользователям, и с помощью этого трюка я могу предоставлять данные транзакций на отдельном листе, а с помощью VBA - переходить от сводки к детали.
Существуют страницы поддержки Microsoft, на которых рассказывается, как это сделать.
Ваша ссылка показывает основы ADO. Это был тот, который я использовал!
это код из моего примера с использованием DAO. Вы можете увидеть, как он подключается, и пример сборки запроса.
Dim mPath As String
Dim mName As String
Dim ColcnT As Long
Dim C As Long
Dim RecCnt As Long
Dim mPeriod As String
mPath = ActiveWorkbook.Path
mName = ActiveWorkbook.Name
mPeriod = Range("mperiod")
Dim dbtmp As dao.Database
Dim tblobj As dao.TableDef
Dim rs As Recordset
Dim qd As dao.QueryDef
Set dbtmp = OpenDatabase(mPath & "\" & mName, False, True, "Excel 8.0;")
DoEvents
If PeriodType = 1 Then Set qd = dbtmp.CreateQueryDef("", "SELECT * FROM mDrillDATA WHERE (((SubOwner1)=[msubowner]) AND ((ACC)=[mACC]) AND ((period)=[mperiod]))")
If PeriodType = 2 Then Set qd = dbtmp.CreateQueryDef("", "SELECT * FROM mDrillDATA WHERE (((SubOwner1)=[msubowner]) AND ((ACC)=[mACC]))")
qd.Parameters("msubowner") = mOwner
qd.Parameters("mACC") = mACC
If PeriodType = 1 Then qd.Parameters("mperiod") = mPeriod
Set rs = qd.OpenRecordset(dbOpenDynaset)