2017-03-29 11 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 
関連する問題