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

VBA初心者です。
EXCEL2007でオートフィルのマクロを作ったのですが、下記のケースで困っています。

A列のデータが入っている行までB列のデータをオートフィルで入力したく、
A列の最終行からデータが入っている行までを求めてB列のデータをオートフィルで入れるため、下記のマクロを設定しました。

Sub test()
  Range("B1").AutoFill Destination:=Range("B1", Range("A1048576").End(xlUp).Offset(, 1))
End Sub

ところが、A列のデータが2行以上ある場合はうまくいくのですが、一行のみだった場合オートフィルができなくてマクロがとまってしまいます。
一行なので当然なのですが、このような処理をしたい場合、他に方法はないものでしょうか?
お知恵を拝借できますと大変助かります。
どうぞよろしくお願いいたします。

A 回答 (1件)

こんにちは。


2行以上ある場合だけ処理するように条件分岐してみましょう.。

Sub Re7755068a()
  With Range("B1", Range("A1048576").End(xlUp).Offset(, 1))
    If .Count > 1 Then Range("B1").AutoFill Destination:=.Cells
  End With
End Sub

> ところが、A列のデータが2行以上ある場合はうまくいくのですが、一行のみだった場合オートフィルができなくてマクロがとまってしまいます。
エラーを回避する為にはどうすればよいか、という方向に考えを進めるのが第一です。
    • good
    • 1
この回答へのお礼

cj_moverさま

大変明快に教えてくださりありがとうございました!
必要としていた処理がスムーズに進むようになりました!
早々のご回答とても嬉しかったです。
行き詰まった時に助けてくださるcj_moverさまのような方がいらして、
本当にありがたかったです。心から感謝いたしますm(__)m。

お礼日時:2012/10/19 08:33

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