У меня есть некоторый код Excel VBA, который подключается к базе данных ODBDC. Я перебираю каждую строку в столбце A и исправляю сценарий SQL для извлечения данных на основе этого значения. А затем импортируйте результат. Мой код работает, но для прохождения 23 000 строк требуется 15 минут. Просто проверяю, было ли лучшее решение
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim conn As New ADODB.Connection
Dim connMasterConnection As New ADODB.Connection
Dim rsObj As New ADODB.Recordset
Dim region As String
Dim Ws_Comp
Dim strSQL As String
Dim aims As String
Dim iCols As Integer
Dim varname1 As String
Dim types As String
Dim country As String
Dim x
Dim lr
Set Ws_Comp = ActiveWorkbook.Worksheets("Financial Data")
lr = Ws_Comp.Range("A" & Rows.Count).End(xlUp).Row
For x = 2 To lr
fp_code = Ws_Comp.Range("A" & x).Value
If connMasterConnection.State = 0 Then connMasterConnection.Open ConnString
varname1 = "SQL Code"
varname1 = varname1 & " (((FP.Organisation.ID)=" & fp_code & "));"
rsObj.Open varname1, connMasterConnection
Ws_Comp.Range("AI" & x).CopyFromRecordset rsObj
connMasterConnection.Close
Next x
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub