非常に単純に見えるマクロを作成しようとしていますが、思ったより難しいことが証明されています。「ポイント・アンド・クリック」方式で作成を開始しましたが、思ったほどダイナミックではありませんでした。基本的に、vlookup を使用して別のワークシートからセル A2 の名前を検索し、列 D の数値を現在のシートにコピーしています。コードを見ると、この部分は次のようになります。
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3],'Downstairs'!R[-1]C[-3]:R[200]C[14],4,0)"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D" & lastrow&)
最初の数字を見つけたら、残りを自動入力しようとしています。実行すると動作しますが、名前が整っているからだと思います。ただし、名前が順番どおりでない場合、R[] と C[] 内のすべての数値が行を下るにつれて変化し続けるため、正しい数値が見つかりません。リストにさらに名前を追加しても機能しないと思います。これは、必要なことです。R[] 内の数値を 93 から 200 に変更しました。これは、以前に作成した lastrow オブジェクトを組み込む方法がよくわからず、これを動的にする別の方法がわからないためです。これを行うより良い方法はありますか?