Looping Error

T

Tealina.Mairs

This is supposed to loop through a range (move across the row then back
to the beginning of the next) and return every other row in a pop-up
box. I'm getting an 'Else Without an If" error - additionally, is this
the correct code for it? Thank you so much for your help!


Sub CompanionProjectsValidate()

Dim Str As String
Str = ""

Dim k, i As Integer

If CompanionComplete.Value = True Then

With Range("BK25:DG300")

Range("BK27").Select

Do While k < 20

For k = 0 To 19

If ActiveCell.Offset(0, k + 1) <> "" Then
Str = Str & ActiveCell.Offset(0, k + 1) & Chr(10)

End If

Next k

ActiveCell.Offset(1, -19).Select

Loop

Else: GoTo 10
End If


If Str = "" Then
GoTo 10
Else: CompanionComplete.Value = False
CompleteValidation.TextBox1.Value = Str
CompleteValidation.Show
End If


10


End Sub
 
J

John Coleman

If you put

End With

before

Else: GoTo 10

it will compile. Whether or not it will do what you want it do isn't
clear - I don't have time to go further into the logic of the code. For
one thing, it isn't clear to me the point of the with statement at all
- there isn't any expression beginning with a dot in the body of the
statement. I don't think that the with as it is would qualify the next
range expression (by making it relative to the range in the with
header). If that is the sort of thing you want (which would be
extremely confusing to me at least) I would think you would need
.Range("BK27").Select
(note the dot)
More than likely, this isn't what you want - so you could also try
deleting the with statement rather than adding the "end with"

HTH

-John Coleman
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top