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

マクロ内で開いた別ファイルにあるリストをVLookupで参照するマクロを作っています。

固定のファイルで行う場合には以下の内容で動いています。
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'070801.xls'!R1C1:R2430C6,6,FALSE)"

このファイル名[070801.xls]とセル範囲(行数がファイルによって違う)のを変数で渡す必要があります。

#細かい部分は割愛しています。
Workbooks.Open Filename:=Fname, ReadOnly:=True 'ファイル読み込み
Range("A1").CurrentRegion.Select 'データ全体選択
Selection.SpecialCells(xlCellTypeLastCell).Select '最終行検出
endRcell = ActiveCell.Row

********ここの間に入る処理
********多分「Range(Cells(1, 1), Cells(endRcell, 6))」など

ThisWorkbook.Activate
Range("H2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],?????,6,FALSE)"
                             ↑ここに指定する変数
2カ所について、どのように指定すればよいのか分かりません。
色々試してみたのですが・・・・
よろしくお願いいたします。

A 回答 (2件)

ka_na_deです。



変数にしたいという質問でしたね。
これで、どうでしょう?

Sub test2()
 Dim Rng As Range

 Set Rng = Workbooks("070801.xls").Worksheets("Sheet1").Range("A1:F2430")

 ActiveCell.Value = _
  WorksheetFunction.VLookup(ActiveCell.Offset(, -4).Value, Rng, 6, False)

End Sub
    • good
    • 0

これでどうですか?


見やすくするために、 _ で、改行を繰り返していますが、
1行でも結構です。

 ActiveCell.Value = _
   WorksheetFunction.VLookup( _
     ActiveCell.Offset(, -4).Value, _
     Workbooks("070801.xls").Worksheets("Sheet1").Range("A1:F2430"), _
     6, _
     False)
    • good
    • 0

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