2017-04-12 10 views
0

現在のシートの値に基づいて別のExcelシートからデータを取得しようとしています。マクロを使用してキーに基づいてExcelシートから値を取得するExcel VBA

現在、私の現在のシート(Sheet1)は、同じ属性 "address"を持つ別のシート(Sheet2)にマップしたいこの属性 "address"を持っています。両方のシートの同じアドレスに基づいてシート2の別のセル値「道路名」を検索したいと思います。

コードの私の行は次のようになります。これを行うエクセルVBAで任意の組み込みに関数が存在する場合

Sheets("Sheet1").Cells(row, 9).Value = ?? 

誰もが任意のアイデアを持って?

+1

VBAが必要ですか?私が見ているところから、 'vlookup()'はうまくいくでしょうか?あなたのデータはどのようなもので、何が起こるのでしょうか? – BruceWayne

+0

道路名、住所をシート3に自動入力したい。私はプロセスを自動化したいので、多くの行があります。 – decemberrobot

+0

サンプルデータ - スプレッドシートイメージや何かを試したことがありますか? – 0m3r

答えて

1

提案のとおり、おそらくVLookupが最適なソリューションです。新しい「アドレス」を入力するたびにワークシートに数式を入力しない場合は、VBAでVLookupを2通りの方法のいずれかで使用できます。

ExcelがVLOOKUPを実行するようにまず、あなたがExcelに式を書くことができ:

Sheets("Sheet1").Cells(row, 9).FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C1:C2,2,FALSE)" 

VBAがVLookupを行い、セルに値を書き込みように第二に、あなたはApplication.VLookup機能を使用することができます。

Sheets("Sheet1").Cells(row, 9).Value = Application.VLookup(Sheets("Sheet1").Cells(row, 8).Value, _ 
                  Sheets("Sheet2").Range("A:B"),2,False) 

注:両方の場合において、私は、「アドレス」が「シート1」の列Hにあると仮定しており、その「アドレス」と「道路名」は「シート2」の列A:Bにあります。

関連する問題