修正済み: user3964075のコメントを確認してください
以下の簡単なコードのヘルプが必要です。基本的には、検索する行を指定できる vlookup の別のバージョンです。
asda(fval, rng, fcol, rcol)
fvalはユーザーが探しているものです
rngは範囲です
fcolは vlookup のデフォルトで 1 に設定されており、ユーザーは検索の基準として使用する列を選択できるようになりました
rcolは、一致が見つかった場合に返される列です
以下のコードを参照してください。
Function asda(fval As Range, rng As Range, fCol As Integer, rCol As Integer)
Dim row As Variant
For Each row In rng.Rows
If fval.Value = rng.Columns(fCol).Rows(row).Value Then
result = rng.Columns(rCol).Rows(row).Value
GoTo found
End If
Next
found:
asda = result
End Function
問題: 機能しません。理由がわかりません。他の人のコードを使用したいので、自分のコードから始めて修正したいと思います。
今後これを読む人のためにコードを修正しました:
Function asda(fval As Range, rng As Range, fCol As Integer, rCol As Integer)
Dim row As Variant
Dim rowc As Integer
rowc = 1
For Each row In rng.Rows
If fval.Value = rng.Cells(rowc, fCol).Value Then
result = rng.Cells(rowc, rCol).Value
Exit For
End If
rowc = rowc + 1
Next
asda= result
終了機能