2014-11-07 2 views
0

나는 초보자이지만 일을 할 수없는 간단한 Vlookup 매크로가 있습니다.수동으로 선택한 셀을 사용하는 Vlookup 매크로

각 행에 다른 숫자가있는 열이있는 Excel 시트를 상상해보십시오. 숫자를 선택하면 매크로 바로 가기가 사용되고 vlookup이 실행되어 해당 숫자와 관련된 텍스트가 반환됩니다. 이 코드를 실행하면

Dim Resource As String 
Resource = Selection.Copy 
rName = Application.WorksheetFunction.VLookup(Resource, Sheets("Program Title").Range("D5:F305"), 3, False) 
MsgBox "" & rName 

End Sub 

는, 나는 "런타임 오류 '1004'다음 WorksheetFunction 클래스의 VLOOKUP 속성을 가져올 수 없습니다"를 얻을

누군가가 나이 코드는 어떻게해야 알릴 수 결정된?

+0

가능한 중복 ([오류 "를 WorksheetFunction 클래스의 VLOOKUP 속성을 가져올 수 없습니다"] http://stackoverflow.com/questions/19280477/unable-to-get-the-vlookup-property-of -the-worksheetfunction-class-error) – AtAFork

답변

0
Dim Resource As String, rName As Variant 
Resource = Selection.Value 

rName = Application.VLookup(Resource, Sheets("Program Title").Range("D5:F305"), _ 
          3, False) 

If Not IsError(rName) Then 
    MsgBox "" & rName 
Else 
    MsgBox Resource & " not found in lookup table" 
End If 
+0

고마워요! 나는 "변종으로"무엇을 연구 할 것입니다. 또한 If 문에 대한 좋은 제안은 오류를 처리하는 데 매우 유용합니다. 그것은 "If IsError (rName)"뒤에 "Then"을 잊었 기 때문에 조금 벗어났습니다. – PencilPusher

+0

@PencilPusher, [Variant] (http://msdn.microsoft.com/en-us/library/office/gg251448) % 28v = office.15 % 29.aspx)는 오류 개체를 비롯하여 모든 유형의 변수로 변형 할 수있는 변수입니다 – SeanC