View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Don Guillett[_4_] Don Guillett[_4_] is offline
external usenet poster
 
Posts: 2,337
Default VBA code only working up to 9999 rows

modify this to suit.

Sub replaceem()
For Each c In Range("g2:g6")
c.Value = Application.Substitute(c, "-", "")
Next
End Sub

--
Don Guillett
SalesAid Software

"sup191 " wrote in message
...
I have some VBA code which is activated when anything is input or pasted
into the D column of a spreadsheet. It takes out any spaces or dashes
that are in the cells. My problem is that it only works for cells
1-9999. If anything is input in cell 10,000+, the macro isn't run.
Here's my code:

Sub AccountID()
Dim lLastRow As Long
Dim Sh1 As Worksheet, rng As Range

Set Sh1 = ThisWorkbook.Worksheets("Form")
lLastRow = Sh1.Cells(Rows.Count, "D").End(xlUp).Row
Set rng = Sh1.Range("D2", "D2" & lLastRow)

rng.Replace _
What:=" ", Replacement:="", _
searchorder:=xlByRows, MatchCase:=True

rng.Replace _
What:="-", Replacement:="", _
searchorder:=xlByRows, MatchCase:=True

rng.NumberFormat = "General"

Set Sh1 = Nothing
Set rng = Nothing
End Sub



What would be limiting this to 9999 lines?

TIA!
sup191


---
Message posted from
http://www.ExcelForum.com/