Я разобрался, как тянуть, но с трудом ограничил результат.Как вы тянете с предложением where.
См. Рисунок, который показывает структуру моего листа для вкладки под названием «Данные»
См. Код ниже, чтобы получить данные.
Iя пытаюсь выяснить правильный синтаксис для составления переменной strSQL ниже.
Вот что я получаю:!Ошибка времени выполнения '-2147217904 (80040e10)': ошибка автоматизации
Моя строка sql выглядит следующим образом через окно просмотра: "SELECT * FROM [Data $ A2: G1000] где [First] = 'JOHN'"
КОД:
Sub SQL()
Dim cn As ADODB.Connection
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim rs As ADODB.Recordset
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
Dim temp As String
temp = Trim("G" + Trim(Str(1000)))
strSQL = "SELECT * FROM [Data$A2:" + Trim(temp) + "] where [First]='JOHN'"
rs.Open strSQL, cn
MsgBox rs.GetString
MsgBox "Data Loaded"
End Sub