ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA tweak to run faster? <--Rookie here (https://www.excelbanter.com/excel-programming/404059-vba-tweak-run-faster-rookie-here.html)

dan

VBA tweak to run faster? <--Rookie here
 
Hello -

I have the following code which is processing very slowly. Ever since
I added in the TRIM section, it has slowed way down.

FYI...the amount of active cells in column C change, so I just used a
default number of 1000, but this can be changed if needed.

Thanks for any ideas! Dan

Sub ODBC_Refresh()

' Refresh the hidden "ODBC Updates" worksheet with current data
Sheets("ODBC Updates").QueryTables(1).Refresh _
BackgroundQuery:=False

' Format UPC column into Text
Columns("C:C").NumberFormat = "@"

' Trim UPC's on ODBC Updates
Dim rng As Excel.Range
Dim cell As Excel.Range
Set rng = Sheets("ODBC Updates").Range("C2:C1000")
For Each cell In rng
cell = Trim(cell)
Next cell

End Sub

Jim Thomlinson

VBA tweak to run faster? <--Rookie here
 
Turn off calculations, screen updating and if there is change event code then
turn off events... Something like this...

Sub ODBC_Refresh()

' Refresh the hidden "ODBC Updates" worksheet with current data
Sheets("ODBC Updates").QueryTables(1).Refresh _
BackgroundQuery:=False

' Format UPC column into Text
Columns("C:C").NumberFormat = "@"

' Trim UPC's on ODBC Updates
Dim rng As Excel.Range
Dim cell As Excel.Range
Set rng = Sheets("ODBC Updates").Range("C2:C1000")
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
For Each cell In rng
cell = Trim(cell)
Next cell
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub

--
HTH...

Jim Thomlinson


"Dan" wrote:

Hello -

I have the following code which is processing very slowly. Ever since
I added in the TRIM section, it has slowed way down.

FYI...the amount of active cells in column C change, so I just used a
default number of 1000, but this can be changed if needed.

Thanks for any ideas! Dan

Sub ODBC_Refresh()

' Refresh the hidden "ODBC Updates" worksheet with current data
Sheets("ODBC Updates").QueryTables(1).Refresh _
BackgroundQuery:=False

' Format UPC column into Text
Columns("C:C").NumberFormat = "@"

' Trim UPC's on ODBC Updates
Dim rng As Excel.Range
Dim cell As Excel.Range
Set rng = Sheets("ODBC Updates").Range("C2:C1000")
For Each cell In rng
cell = Trim(cell)
Next cell

End Sub


dan

VBA tweak to run faster? <--Rookie here
 
On Jan 10, 8:52*pm, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
Turn off calculations, screen updating and if there is change event code then
turn off events... Something like this...

Sub ODBC_Refresh()

' Refresh the hidden "ODBC Updates" worksheet with current data
* * Sheets("ODBC Updates").QueryTables(1).Refresh _
* * BackgroundQuery:=False

' Format UPC column into Text
* * Columns("C:C").NumberFormat = "@"

' Trim UPC's on ODBC Updates
* * Dim rng As Excel.Range
* * Dim cell As Excel.Range
* * Set rng = Sheets("ODBC Updates").Range("C2:C1000")
* * With Application
* * .EnableEvents = False
* * .ScreenUpdating = False
* * .Calculation = xlCalculationManual
* * For Each cell In rng
* * cell = Trim(cell)
* * Next cell
* * .EnableEvents = True
* * .ScreenUpdating = True
* * .Calculation = xlCalculationAutomatic
* * End With
End Sub

--
HTH...

Jim Thomlinson



"Dan" wrote:
Hello -


I have the following code which is processing very slowly. *Ever since
I added in the TRIM section, it has slowed way down.


FYI...the amount of active cells in column C change, so I just used a
default number of 1000, but this can be changed if needed.


Thanks for any ideas! *Dan


Sub ODBC_Refresh()


' Refresh the hidden "ODBC Updates" worksheet with current data
* * Sheets("ODBC Updates").QueryTables(1).Refresh _
* * BackgroundQuery:=False


' Format UPC column into Text
* * Columns("C:C").NumberFormat = "@"


' Trim UPC's on ODBC Updates
* * Dim rng As Excel.Range
* * Dim cell As Excel.Range
* * Set rng = Sheets("ODBC Updates").Range("C2:C1000")
* * For Each cell In rng
* * cell = Trim(cell)
* * Next cell


End Sub- Hide quoted text -


- Show quoted text -


Thanks so much Jim, that totally rocked!

Dan


All times are GMT +1. The time now is 01:24 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com