- ベストアンサー
エクセル マクロ オートフィルの終点の指定について
こんにちは。マクロ初心者です。 早速ですがやりたい事を書きます! A B C 1 名前 住所 TEL 2 あ い 3 う え 4 お か … 100 き く 上記のような状態で、C2セルにある関数(実際にはvlookupです) を入力し、オートフィルをC2からC100にかけたいです。 ただ、行数は毎回変化するので、AutoFill Destination は 固定ではなく、CurrentRegion の最終行までとしたいです。 どう記述すればよろしいでしょうか? 教えていただけましたら非常にうれしいです。 何卒よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Range("c2").AutoFill Destination:=Range("C2:C" & Cells(3).CurrentRegion.Rows.Count) でいかがでしょう。 途中で空白がある場合 Range("c2").AutoFill Destination:=Range("C2:C" & Range("C65536").End(xlUp).Row) がいいでしょう
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
初心者なら、判らないというのでなく、マクロの記録の力を借りること。そのためにはエクセルの操作を知っていないと扱えないが。 ーー 最終行を捉えル操作は (1)編集ージャンプーセル選択ー最後のセル Sub test01() r=Range("a1:C100").SpecialCells(xlCellTypeLastCell).Row MsgBox r End Sub (2)その列の十分下のセルを選択してENDキーのあとに上矢印キー Sub test02() r= Range("B65536").End(xlUp).Row MsgBox r End Sub ーーー おーとふぃるコピー貼り付けの操作 マクロの記録 Selection.Copy Range("D2:D21").Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False このRange("D2:D21")の21のところをRange("D2:D" & r).・・ に変える。rは上記で求めた最下行数です。
お礼
ありがとうございました。 Range("C2:C" & ~)の書き方を初めて知りました。 とても参考になりました。
- n-jun
- ベストアンサー率33% (959/2873)
A2からA列の最終行までと同じ範囲というのなら、 Range("C2").AutoFill Destination:=Range("C2:C" & Cells(Rows.Count, 1).End(xlUp).Row), Type:=xlFillDefault と言う感じは如何でしょうか。
お礼
ありがとうございました。 Range("C2:C" & ~)の書き方を初めて知りました。 とても参考になりました。
お礼
ありがとうございました。 大変簡潔に、私のやりたい事をご回答いただきました。 Range("C2:C" & ~)の書き方を初めて知りました。 とても参考になりました。