Пожалуйста, помогите мне создать пользовательскую функцию в Excel VBA напримерКак сделать определенный пользователь-функцию с подключением ADO
Function GetTheValue(wbPath, wbName, wsName, cellRef)
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim tmp As Range
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wbPath & wbName & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
rst.Open "SELECT * FROM [" & wsName & "$" & cellRef & "]", cnn
Set tmp = Range("L5")
tmp.CopyFromRecordset rst
MsgBox tmp.Value
GetTheValue = tmp.Value
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
End Function
I судимого использовать это в клетке, подписав формулу
=GetThaValue("D:\";"test.xls";"Sheet1";"B4")
и посмотрите, что строка «tmp.CopyFromRecordset rst» моего кода не работает Пожалуйста, помогите решить этот вопрос. Спасибо большое
У меня есть Excel 2003 и строка «cnn.Open ....» не работает – Denis
вам, возможно, потребуется вернуться к исходной строке подключения, которую я изменил на основе ConnectionStrings.Com. –