2017-02-13 15 views
2

テーブルの2番目の列にVLookupを使用できるかどうかを確認しようとしていますか?私は無限に検索し、これに対する答えを見つけることができませんが、これが可能でなければならないと感じています。Excel VBA VLookupテーブルの第2列

この時点で、VBAは私の強みではないことを追加します。私はPHP/MySQLのバックグラウンドから来ていますが、私はVBAを学ぶことに頼っているので、私の仕事でどちらかを使うという贅沢はありません。

これまで(簡体字)私のコード:

Dim userEnviron As String 
Dim rowId As Integer 

rowId = 0 
userEnviron = Environ("Username") 

Dim tbladmin As ListObject 
Set tbladmin = Sheets("Office Details").ListObjects("officeAdmin") 

On Error Resume Next 
rowId = Application.VLookup(userEnviron , Range(tbladmin), 4, False) 

このコードは、ユーザー環境変数を検索し、tbldadminテーブルに試合を探しています。テーブルはヘッダとそのように構成されています

Name UserID Email RowID Tom Smith Tom [email protected] 2

ImはユーザーIDを検索し、名前を返すようにしよう、しかし、現時点では私は名前を検索し、(私が追加したROWIDを返すように設定されたコードを持っていますRowIDを取得して名前を返すコードの2番目のスニペット)

これは、VBA以外の多くの例を見ることができますが、テーブルを使用していないようです。

2番目の列の一致を検索し、最初の列から値を返すために、VLookupを説明どおりに使用できますか?地獄私が2番目の列を検索できる場合は、最後の列から戻り値を取得します。

+0

あなたはVLOOKUPを使用するよりもやりたいために多くの方法があります。この式を代わりに使用してみてください。 '= IF(MATCH( "Tom"、$ B $ 2:$ B $ B3,0)、A2、 "") 'INDEX/MATCHを使用することもできます。 –

+0

2番目の列を検索すると、VLOOKUPは選択した列の最初の列のみを表示するように設計されています。しかし、INDEX()MATCH()の組み合わせを使用することができます。[この記事](https://www.deskbright.com/excel/using-index-match/)をご覧ください –

答えて

2

VLOOKUPにしたいが、データが一番左の列にない場合は、参照するデータの場所と返すデータを指定できるINDEX/MATCHを使用できます。 、

rowId = WorksheetFunction.INDEX(Range("officeAdmin[RowID]"), WorksheetFunction.MATCH(userEnviron, Range("officeAdmin[UserID]"), 0)) 

あなたがルックアップしたい方の列にRange("officeAdmin[RowID]")を変更することができますたとえばRange("officeAdmin[Name]")ためRowIDの代わりにNameを返します。これを試してみてください。

+0

ありがとうございましたヨルダンは、必要に応じて動作します。私はまた、名前付き範囲を使用することが望ましいことがわかります。感謝の仲間 –

1

あなたは、直接あなたが見てみたいな範囲をOffsetことができます。

Dim userEnviron As String 
Dim rowId As Integer 

rowId = 0 
userEnviron = Environ("Username") 

Dim tbladmin As ListObject 
Set tbladmin = Sheets("Office Details").ListObjects("officeAdmin") 

On Error Resume Next 
rowId = Application.VLookup(userEnviron, tbladmin.Range.Offset(0, 1), 3, False) 
+0

ありがとうR3UK youreコードは私が望むように動作し、私はコードのどこかで使用します。乾杯。 –

+0

@ MarkLawrence:うれしい! ;) – R3uK

関連する問題