エクセルマクロで、VLOOKUP関数でセル値を取得するExcelVBAコードを記載しています。
VLOOKUP関数でセル値取得
以下のマクロを実行すると、vlookup関数で値を転記します。
Sub Vlookup関数で値取得()
Dim Target As String
'「名前」を取得
Target = Range("D2").Value
With ActiveSheet
Range("E2") = Application.WorksheetFunction. _
Vlookup(Target, Range("A1:B6"), 2, False)
End With
End Sub
マクロ実行後
VLOOKUP関数で、セルE2に値を転記します。
[Target = Range(“D2”).Value] で、検索値を変数に格納します。
VLOOKUP関数でセル値取得(複数セル転記)
以下のマクロを実行すると、vlookup関数で値を転記します。
Sub Vlookup関数で値取得()
Dim Target As String
Dim i As Long
Dim MyArea As Range
Set MyArea = Range(Cells(2, 1), Cells(6, 2))
'2~最終行までループ
For i = 2 To 6
'「名前」を取得
Target = Cells(i, 4)
With ActiveSheet
Cells(i, 5) = Application.WorksheetFunction. _
Vlookup(Target, MyArea, 2, False)
End With
Next i
End Sub
マクロ実行後
VLOOKUP関数で、複数セルに値を転記します。
[Set MyArea] に、セル範囲を格納して参照します。
VLOOKUP関数でセル値取得(別シート参照)
以下のマクロを実行すると、vlookup関数で値を転記します。
Sub Vlookup関数で値取得()
Dim Target As String
Dim Sht1 As Worksheet
Dim Sht2 As Worksheet
Set Sht1 = Sheets("Sheet1")
Set Sht2 = Sheets("Sheet2")
'「名前」を取得
Target = Sht2.Range("A2").Value
With ActiveSheet
Sht2.Range("B2") = Application.WorksheetFunction. _
Vlookup(Target, Sht1.Columns("A:B"), 2, False)
End With
End Sub
マクロ実行後
VLOOKUP関数で、別シートに値を転記します。
シート名を変数にしてVLOOKUPを実行します。
[Sht1.Columns(“A:B”)] で、列全体を参照範囲に設定します。
VLOOKUP関数でセル値取得(別シート参照・複数セル転記)
以下のマクロを実行すると、vlookup関数で値を転記します。
Sub Vlookup関数で値取得()
Dim i As Long
Dim Target As String
Dim Sht1 As Worksheet
Dim Sht2 As Worksheet
Dim MyArea As Range
'シートを変数格納
Set Sht1 = Sheets("Sheet1")
Set Sht2 = Sheets("Sheet2")
'列を参照範囲に格納
Set MyArea = Sht1.Range("A:B")
'2~6行目をループ
For i = 2 To 6
'「名前」を取得
Target = Sht2.Cells(i, 1).Value
With ActiveSheet
Sht2.Cells(i, 2) = Application.WorksheetFunction. _
Vlookup(Target, MyArea, 2, False)
End With
Next i
End Sub
マクロ実行後
VLOOKUP関数で、別シートを参照して複数セルに転記します。
[Set MyArea = Sht1.Range(“A:B”)] で、列を参照します。
VLOOKUP関数でセル値取得(1番右側シート参照)
以下のマクロを実行すると、vlookup関数で値を転記します。
Sub Vlookup関数で値取得()
Dim Target As String
Dim ShtA As Worksheet
Dim ShtB As Worksheet
Set ShtA = Sheets("Sheet1")
Set ShtB = Worksheets(Worksheets.Count)
'「名前」を取得
Target = ShtA.Range("A2").Value
With ActiveSheet
ShtA.Range("B2") = Application.WorksheetFunction. _
Vlookup(Target, ShtB.Range("A1:B6"), 2, False)
End With
End Sub
マクロ実行後
VLOOKUP関数で、セルB2に値を転記します。
[Set ShtB = Worksheets(Worksheets.Count)] で、1番右側のシートを指定します。
シート名の可変に対応できます。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】Replace関数で置換する:使用例9選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク