Next without For Error
This kind of syntax is pretty common:
Range(Cells(i, 1), Cells(i, 5)).ClearContents
But I bet that this syntax isn't doing what you want:
If Range(Cells(i, 1)).Value = "" Then
I bet you meant:
If Cells(i, 1).Value = "" Then
If you use:
If Range(Cells(i, 1)).Value = "" Then
Then cells(i,1) better contain something that looks like an address (or a range
name). Otherwise, you'll get a different error.
Since the default property of that cells(i,1) is value, you're doing:
If Range(Cells(i, 1).value).Value = "" Then
It makes sense if Cells(i,1) contained something like: b99
Then your code would be doing:
if range("B99").value = "" then
Jim Berglund wrote:
I have been trying to run the following code, and am getting a Next without
For Error
Any Ideas?
Jim Berglund
Sub DelRows()
Dim i, n As Long
Dim wsNumFrum As Worksheet
Set wsNumFrum = Worksheets("Numbers from Reverse Directory")
n = wsNumFrum.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious).Row
For i = 1 To n
If Range(Cells(i, 1)).Value = "" Then
Range(Cells(i, 1), Cells(i, 5)).ClearContents
Else
Range(Cells(i, 1)).Select
If Left(Cells(i, 1), 5).Value = "Lname" Then
Range(Cells(i, 1), Cells(i, 5)).ClearContents
Else
If IsNumeric(Cells(i, 5).Value) Then
Range(Cells(i, 1), Cells(i, 5)).ClearContents
End If
Next
'Sort the data
ActiveWorkbook.Worksheets("Numbers from Reverse
Directory").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Numbers from Reverse
Directory").Sort.SortFields. _
Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Numbers from Reverse Directory").Sort
.SetRange Range("A1:E5001")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
--
Dave Peterson
|