Я пытаюсь выполнить цикл через ячейки excel, чтобы получить значение из таблицы sql server. Я написал макрос, который будет брать номер задания из истории Excel и запросов sql server, чтобы получить информацию о клиенте и выгрузить его в электронную таблицу. Пока я могу получить данные только для одной ячейки. Как я могу прокручивать ячейки excel для более чем одного номера задания. Я новичок в VBA. Спасибо за вашу помощь. Вот мой макрос:Цикл через таблицу Excel с использованием макроса
Sub ConnectSqlServer()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
Dim newrow As String
newrow = Worksheets("Sheet1").Cells(1, "A").Value
' Create the connection string.
sConnString = "Provider=SQLOLEDB;Data Source=0.0.0.0;" & _
"Initial Catalog=asset;" & _
"User ID=Temp;Password=test123;"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open the connection and execute.
conn.Open sConnString
Set rs = conn.Execute("SELECT customer FROM job_tab where jobnum2='" & Trim(newrow) & "';")
' Check we have data.
If Not rs.EOF Then
' Transfer result.
Sheets(1).Range("B1").CopyFromRecordset rs
' Close the recordset
rs.Close
Else
MsgBox "Error: No records returned.", vbCritical
End If
' Clean up
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
@lchixgo - Спасибо за ваш ответ. Я попытался использовать код, который вы предложили. Я получаю ниже сообщения об ошибке. Ошибка выполнения -2147217900 (80040e14) Ошибка автоматизации – LearningMacro
На какой строке она выдает ошибку? – Ichixgo
@ lchixgo-Я получаю сообщение об ошибке в этой строке. Установите rs = conn.Execute («SELECT customer FROM job_tab where jobnum2 IN» & newrow & "'; ») – LearningMacro