Thread: vlookup
View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default vlookup

One problem is that you're trying to return column 7 from a one column range.
And you write that you want to return the value from column E (but matching on
column C).

Maybe you should expand C2:C200 to C2:E200 and return the 3rd column?

Sub hodiny_sep()
Dim res As variant 'changed, since it could return an error
Dim i As Long

i = 3

Do While Sheets("List").Range("D" & i).Value < ""
res = Application.VLookup(Sheets("List").Range("D" & i).value, _
Sheets("hodiny").Range("C2:E200"), 3, False)
if iserror(res) then
res = "missing"
end if
sheets("List").Range("I" & i).Value = res
i = i + 1
Loop

End Sub

Compiled, but untested.

milos wrote:

Can you help me, why this script doesn't work?
I ahve two sheets with names in different order. I want to get value from
col E for a certain name (names are in col C) in sheet "hodiny" and paste it
next to the same name (names are in col D) in sheet "list" in col I.
I tried to use the script I post here, but it causes an error message
Thank you
Milos

Sub hodiny_sep()
Dim res As Long
Dim i As Long
i = 3

Do While Sheets("List").Range("D" & i).Value < ""

res = Application.VLookup(Sheets("List").Range("D" & i),
Sheets("hodiny").Range("C2:C200"), 7, False)
Sheets("List").Range("I" & i).Value = Sheets("hodiny").Range("E" & res).Value
x = x + 1

Loop

End Sub


--

Dave Peterson