- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル(2003)のVBAに関する質問です。)
エクセル(2003)のVBAに関する質問です。
このQ&Aのポイント
- エクセル(2003)のVBAを使用して特定の行数までの表の一番下の行にオートフィルを行うマクロを作成しましたが、実行時エラーが発生しています。
- Workbook_Open()サブルーチン内で、特定の行数までの表の一番下の行(B列からW列)にオートフィルを行うためのコードを記述しましたが、エラーが発生しています。
- エクセル(2003)のVBAを使用して特定の行数までの表の一番下の行にオートフィルを行うためのマクロを作成しましたが、実行時エラーが出てしまいます。解決方法を教えてください。
- みんなの回答 (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 こんな感じでシートを明示しておいたほうが良いです。
その他の回答 (2)
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.2
Range(rng, "W368") こんな書き方はありません。
- karasuyasa-
- ベストアンサー率11% (3/26)
回答No.1
操作でも実行できそうなので、マクロの記録をしてそれを元に改造すればいいのではないでしょうか。
お礼
良く見ると1列隠れていました。 ご指導ありがとうございました。