View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default For...Next Question

Sub test()

Dim i as Long, j As Long
Dim INS As String
Dim k as long, lastrow as Long
lastrow = cells(rows.count,1).End(xlup)


for k = 1 to lastrow - 2

i = 0: j =0


If ActiveSheet.Range("j3")(k).Value < Empty Then i = i + 1: j = 1
If ActiveSheet.Range("k3")(k).Value < Empty Then i = i - 1
If ActiveSheet.Range("l3")(k).Value < Empty Then i = i + 1: j = 1
If ActiveSheet.Range("m3")(k).Value < Empty Then i = 1 - 1

If j = 0 Then
INS = "N"
elseIf i = 0 Then
INS = "C"
elseIf i 0 Then
INS = "A"
End if
ActiveSheet.Range("n3")(k).Value = INS

Next k
End Sub

I don't know what you are doing, so I don't know if i and j should be set to
zero for each row. As written they are. If they should be initialized only
at the start, then move that line above the For i = line.

--
Regards,
Tom Ogilvy

"br0ke" wrote in message
...
How do I get the following to loop until the end of a sheet with up to 200
entries in column A starting at row 3 and changing the range as it goes
through the loop. I'm new to this and any help much appreciated.

Sub test()

Dim i, j As Integer
Dim INS As String

i = 0: j -0

If ActiveSheet.Range("j3").Value < Empty Then i = i + 1: j = 1
If ActiveSheet.Range("k3").Value < Empty Then i = i - 1
If ActiveSheet.Range("l3").Value < Empty Then i = i + 1: j = 1
If ActiveSheet.Range("m3").Value < Empty Then i = 1 - 1

If j = 0 Then INS = ("N"): GoTo E
If i = 0 Then INS = ("C"): GoTo E
If i 0 Then INS = ("A")

E:
ActiveSheet.Range("n3") = INS

End Sub