So beschleunigen Sie die VBA-Makros
Ich erstelle ein neues Blatt mit Makros. Bei einer neuen Blattgenerierung werden Daten aus mehr als 4 MS Access-Datenbanken abgerufen. Jeder DB hatte mindestens 200 Felder. Mein Makrocode enthält
1. Cell locking
2. Alignment and formatting
3. One third of the cells in the sheet had a formulas
4. Cell reference with other Workbooks
Mein Problem ist, dass bei jeder Blattgenerierung mindestens eine Stunde benötigt wird, um den Lochvorgang abzuschließen. Aber es scheint mir, dass es viel zu lange dauert.
Ich bin bereits das @ hinzugefüApplication.ScreenUpdating = True
, um den Code zu beschleunigen, aber es dauert immer noch die gleiche Zeit. Wie Sie den Code beschleunigen können. Wenn Sie eine Idee haben, leiten Sie mich bitte.
`For Ip = 5 To 150
resp = Range("B" & Ip).Value
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=henkel2;DBQ=C:\Hl-RF\RSF-Temp.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;" _
, Destination:=Range("IV4"))
.CommandText = "select Vles from " & Shtname & " where cint(PrductID)='" & resp & "' and cint(DepotID) = '" & cnt1 & "' and Mnth = '" & mnths & "' and Type='" & typs & "'"
.Name = "tab product"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceConnectionFile = _
"C:\Hl-RF\tabct.odc"
.Refresh BackgroundQuery:=False
End With`
Is There Is any way to Reduce the loop iteration time
Danke im Vorau