View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Cone Jim Cone is offline
external usenet poster
 
Posts: 3,290
Default Do while loop error....


You are missing "End If" in two places and "IsBlank" cannot be used
in VBA code. I substituted the Len function.
Row variables should be declared as a Long.
(you may want to do something in the bottom half of the sheet sometime)

It looks like you may not get the results you want; give it a try
and find out.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware

Sub MapPrice()
Dim i As Long
Dim j As Long
Dim selection_v As Range, selection_p As Range

i = 5
j = 5
selection_v = Range("C5:E19")
selection_p = Range("H5:J25")

Do While j <= selection_v.Rows.Count + 4
Do While i <= selection_p.Rows.Count + 4
If Range("H" & i).Value & Range("I" & i).Value = _
Range("C" & j).Value & Range("D" & j).Value Then
Range("J" & i).Copy Destination:=Range("E" & j)
i = i + 1
End If
Loop

If Len(Range("E" & j).Value) 0 Then
Range("E" & j).Value = "Not found"
i = 5
j = j + 1
End If
Loop
End Sub
'------------


"guy"
wrote in message
hello, i am a beginner...Thank you for your help!!
the inner loop was highlighted (compile error), but i don't know what's
wrong here
ps: i want to map the price in J5:J25 to the corresponding cells in
E5:E19...
____________
Sub MapPrice()

Dim i, j As Integer
Dim selection_v, selection_p As Range

i = 5
j = 5
selection_v = Range("C5:E19")
selection_p = Range("H5:J25")

Do While j <= selection_v.Rows.Count + 4

Do While i <= selection_p.Rows.Count + 4

If Range("H" & i).Value & Range("I" & i).Value = Range("C" &
j).Value & Range("D" & j).Value Then
Range("J" & i).Copy Destination:=Range("E" & j)

i = i + 1

Loop

If isBlank(Range("E" & j).Value) Then
Range("E" & j).Value = "Not found"

i = 5
j = j + 1

Loop

End Sub