• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル(2003)のVBAに関する質問です。)

エクセル(2003)のVBAに関する質問です。

このQ&Aのポイント
  • エクセル(2003)のVBAを使用して特定の行数までの表の一番下の行にオートフィルを行うマクロを作成しましたが、実行時エラーが発生しています。
  • Workbook_Open()サブルーチン内で、特定の行数までの表の一番下の行(B列からW列)にオートフィルを行うためのコードを記述しましたが、エラーが発生しています。
  • エクセル(2003)のVBAを使用して特定の行数までの表の一番下の行にオートフィルを行うためのマクロを作成しましたが、実行時エラーが出てしまいます。解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

>B列からW列 までだったら22列あります。 rngの列数とRange(rng, "W368")の列数が違ってるためエラーになってます。 また、Range(rng, "W368")でもいいですけど、気分的にはRange(rng(1), "W368")がしっくりくるかな... あと余談ですが、シートを指定してないのでOpen時にActiveだったシートが対象になりますけどその仕様でいいのでしょうか? 例えば Dim rng As Range With Sheets("Sheet1") 'とかActivesheetとか。   Set rng = .Cells(.Rows.Count, "B").End(xlUp).Resize(1, 22)   If rng.Row <> 368 Then     rng.AutoFill Destination:=.Range(rng.Item(1), "W368"), Type:=xlFillSeries   End If End With Set rng = Nothing こんな感じでシートを明示しておいたほうが良いです。

nattouotaku
質問者

お礼

良く見ると1列隠れていました。 ご指導ありがとうございました。

その他の回答 (2)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

Range(rng, "W368") こんな書き方はありません。

回答No.1

操作でも実行できそうなので、マクロの記録をしてそれを元に改造すればいいのではないでしょうか。

関連するQ&A