Ich versuche Excel-Zellen durchlaufen, um Wert von SQL Server-Tabelle zu erhalten. Ich habe ein Makro geschrieben, das die Jobnummer aus der Excel- und SQL Server-Abfrage nimmt, um Kundendetails zu erhalten und sie in die Tabelle zu schreiben. Bis jetzt bin ich nur in der Lage, Daten für einzelne Zelle zu erhalten. Wie kann ich die Excel-Zellen für mehr als eine Jobnummer durchlaufen. Ich bin neu in VBA. Danke für Ihre Hilfe. Hier ist mein Makro:Schleife durch Excel-Tabelle mit Makro
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 - Vielen Dank für Ihre Antwort. Ich habe versucht, den von Ihnen vorgeschlagenen Code zu verwenden. Ich bekomme eine Fehlermeldung. Laufzeitfehler -2147217900 (80040e14) Automatisierungsfehler – LearningMacro
Bei welcher Zeile wirft es den Fehler? – Ichixgo
@ lchixgo-Ich bekomme eine Fehlermeldung in dieser Zeile. Setze rs = conn.Execute ("SELECT customer FROM job_tab wo jobnum2 IN" & newrow & "'; ") – LearningMacro