Is there a better code to do this?
You can do the following
set MyRange = Range("A5:AK1757") then use Range or colun again Myrange.Range("A1") Really A5 or MyRange.columns("A") or MyRange.Rows(1) really row 1 to get last column MyRange(Columns.Count) For the code to take 30 minutes you must be looping through the range multiple times. Because you have two FOR loops it loos like you are looping so you are going through each cell AxA times where A is the number of cell in your range. I'm not sure what you are really trying to do. "Ayo" wrote: I am trying to do a Find and Replace in Range("A5:AK1757") and I have the following code to do it but it is just taking too long, more than 30 minutes. IS there a better way to do this faster? Thanks For Each progresshdr In rngProgresshdr.Cells proPos = InStr(1, progresshdr.Address(ColumnAbsolute:=False), "$", vbTextCompare) progresslastColumn = Left(progresshdr.Address(ColumnAbsolute:=False), proPos - 1) If Right(progresshdr.Value, 4) = "Date" Then ActiveSheet.Range(progresslastColumn & "5:" & progresslastColumn & progresslastRow).Select For Each c In Selection If c.Value <= Date And c.Offset(0, 1).Value = "Projected" Then c.Offset(0, 1).Value = "Past Due" End If Next End If Next progresshdr |
All times are GMT +1. The time now is 09:28 AM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com