テーブルの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番目の列を検索できる場合は、最後の列から戻り値を取得します。
あなたはVLOOKUPを使用するよりもやりたいために多くの方法があります。この式を代わりに使用してみてください。 '= IF(MATCH( "Tom"、$ B $ 2:$ B $ B3,0)、A2、 "") 'INDEX/MATCHを使用することもできます。 –
2番目の列を検索すると、VLOOKUPは選択した列の最初の列のみを表示するように設計されています。しかし、INDEX()MATCH()の組み合わせを使用することができます。[この記事](https://www.deskbright.com/excel/using-index-match/)をご覧ください –