アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロ初心者です。
行数が可変のファイルを、VLOOKUPをする際の最終行の取得方法、ご存じでしたら教えてください。
具体的には、下記手順を行いたいです。

下記図を参照ください。
(1)右ファイル「月次実績」。左ファイル「Book1」。
   両ファイルともにB列「文字列」を参照し、VLOOKUP。
   ※図では左ファイルのファイル名が隠れてしまっております…

(2)右ファイル「月次実績」H列を左ファイル「Book1」C列に表示させたい。
(3)ただし、右・左ファイル共に行数は可変です。

以下の通り、構文を書いてみましたが、うまくいかず・・・。
ヒントがあればよろしくお願いいたします。
※VLOOKの検索範囲は、月次実績ファイルの32列目までとしています。

Windows("Book1.xlsx").Activate

Range("C2").Select
Dim i As Long
i = Range("H" & Rows.Count).End(xlUp).Row
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1],月次実績.csv!R2C8:R&i&C32,2,0)"

「エクセルマクロ 数式【VLOOKUP】最」の質問画像

A 回答 (2件)

と言うか、vlookupのパラメータが変ですよ。


例えばi=10だとしたら
=VLOOKUP(RC[-1],月次実績.csv!R2C8:R10C32,2,0)

R2C8:R10C32は何を意味しますか?

セル範囲(左上のセル:右下のセル)なので、R2C8とかR10C32というセルは存在しません。
R2:C8とか、R10:C32なら解るのですが・・・・。
    • good
    • 2
この回答へのお礼

t_fumiaki様
ご連絡ありがとうございます…。

R2C8:R10C32の意味は、
8列目から32列目までの最終行をVLOOKUPの検索範囲としたいです。
R10は変数にしたいため、Dim i AS Longとして
構文は、R2C8:R" & i & "C32としました。

お礼日時:2020/02/18 21:45

文字列の連結方法が間違ってるからです。


"=VLOOKUP(RC[-1],月次実績.csv!R2C8:R&i&C32,2,0)"

"=VLOOKUP(RC[-1],月次実績.csv!R2C8:R" & i & "C32,2,0)"
    • good
    • 0
この回答へのお礼

t_fumiaki様
ご教授、ありがとうございます!
私のやり方が悪く、上手くできません。。C32以降が間違っていると出てしまいますが、色々と試行錯誤してみます!

お礼日時:2020/02/17 23:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!