View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
keepITcool keepITcool is offline
external usenet poster
 
Posts: 2,253
Default Optimizing a macro for speed- find and replace



Maybe OP has Iteration ON...
(as he's setting the MaxChange...)

See tools/options/Calculation...

DEACTIVATE the iteration checkbox..

(which is ONLY usefull for certain specific recursive or circular
calculation scenarios)





--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


PaulD wrote :

What speed is your computer? I tried the following code on a sample
workbook that I filled in 24,000 rows of data and 10 columns and
randomly blanked out some of the cells

Public Sub deBlank()
Application.ScreenUpdating = False
Application.EnableEvents = False

Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns

Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

This took about 2 seconds to complete. Is there something else going
on you are not telling us? Are there calculations occuring that are
taking additional time?
Paul D


"trickdos" wrote in message
...

Hey all, Thanks for your help.

I have a workbook with 2 sheets with 24,000 rows and 10 columns of
data, and I need to do a find and replace for all "#Missing" values
and return an empty cell. This takes forever. Is there anyway to
optimize the macro to run much faster?



Application.ScreenUpdating = False

With Application
Calculation = xlManual
End With

Sheets("Version 1").Select
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByColumns

ActiveWorkbook.PrecisionAsDisplayed = False
With Application
Calculation = xlAutomatic
MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
Application.ScreenUpdating = True


--
trickdos
--------------------------------------------------------------------
---- trickdos's Profile:

http://www.excelforum.com/member.php...fo&userid=9405
View this thread:
http://www.excelforum.com/showthread...hreadid=277560