2017-03-29 1 views
0

vlookup 스타일과 같은 수식을 알고 있지만 셀의 값을 반환하지 않는 셀 이름을 알고 싶은지 물어 보는 것처럼 좋습니까? 감사!vlookup하지만 셀의 값을 반환하지 않는 셀의 이름

은 내가 Application.WorksheetFunction.VLookup(name, Sheet2.Range("Table6"), 5, False)sal의 값을 넣고 싶지만이 기능에 셀 내부의 값은

Sub purchase() 

Dim name As String 
name = ActiveSheet.Range("C3") 
sal = Application.WorksheetFunction.VLookup(name, Sheet2.Range("Table6"), 5, False) - ActiveSheet.Range("d3").Value 

MsgBox " remaining: " & sal 

End Sub 
+0

그래서 ** 주소 **를 원하십니까? 또는 ** 셀과 연관된 ** 범위 이름 **? 그러면 어떻게 그 주소 나 이름에서 무언가를 뺄 계획입니까? – YowE3K

+0

'MATCH()'함수는 필요한 결과를 제공합니까? –

답변

0

VLookup는 값을 반환 셀이 아닌 이름을 반환합니다. match 기능이 필요합니다. 그러면 원하는 셀에 액세스하는 데 사용할 수있는 행 번호가 반환됩니다.

Sub purchase() 
    Dim Name As String 
    Name = ActiveSheet.Range("C3") 

    Dim MatchedRow As Long 
    MatchedRow = Application.WorksheetFunction.Match(Name, Sheet2.Range("Table6").Columns(1), 0) 
     'Find the row number (relative to the range table6) of the found name 

    Dim Sal As Double 
    Sal = Sheet2.Range("Table6").Cells(MatchedRow, 5).Value - ActiveSheet.Range("D3").Value 

    Sheet2.Range("Table6").Cells(MatchedRow, 5).Value = Sal 
     'Write the calculated Sal back 

    MsgBox " remaining: " & Sal 
End Sub 
관련 문제