- ベストアンサー
エクセルマクロ 横向きのオートフィルについて質問
VBA初心者です。エクセルでオートフィルのマクロに挑戦しています。 セルA2にすでに入力されている関数を横向きにオートフィルを行い、1行目の入力されている最終列まで行いたいです。1行目の最終列は可変です。 いろいろ調べても、「最終行まで」というものはあるのですが、「最終列まで」というものが見つからないので、どなたか助けてください!よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Cells(2, Columns.Count).End(xlToLeft).Column Cells(2, 1).End(xlToRight).Column などがあります
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
>最終列まで データの入っている、同(指定・注目した)行の一番右の列を割り出す、コード。 よく使う、かつ、早いうちに必要になる、常識だよ。 Sub test01() MsgBox Range("XFD2").End(xlToLeft).Column End Sub XFDはシートでENDキーと右→キーを押すでわかるし、適当に1000などを使って、誤りでないケースも多かろう。 しかし途中に他の(意味的に別の)表が合ったりする場合は、間違いの結果になるので注意。 参考 各行で最右列が違う(バラバラの)場合の最大列番号を知る。 Sub test02() cm = 1 Range("a2").CurrentRegion.Select For Each rw In Selection.Rows If rw.Columns.Count > cm Then cm = rw.Columns.Count End If Next MsgBox cm ’結果表示 End Sub ーー オートフィルに関しては https://www.moug.net/tech/exvba/0050146.html Sub Sample1() With Range("A1") .Value = "1月" .AutoFill Destination:=Range("A1:A12") End With End Sub ーー A2:L2に数字が入っているとする。 年初来の合計を出す。 A4は=A2 Sub test03() Range("A4") = Range("a2") Range("B4").Formula = "=SUM($A$2:B2)" Range("B4").AutoFill Destination:=Range("B4:L4") '+ハンドルを出して右方向に式複写に相当 End Sub
お礼
勉強になりました。ありがとうございました。
お礼
おかげさまで、解決しました。ありがとうございました。