• ベストアンサー

エクセルマクロ 横向きのオートフィルについて質問

VBA初心者です。エクセルでオートフィルのマクロに挑戦しています。 セルA2にすでに入力されている関数を横向きにオートフィルを行い、1行目の入力されている最終列まで行いたいです。1行目の最終列は可変です。 いろいろ調べても、「最終行まで」というものはあるのですが、「最終列まで」というものが見つからないので、どなたか助けてください!よろしくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

Cells(2, Columns.Count).End(xlToLeft).Column Cells(2, 1).End(xlToRight).Column などがあります

citrus508
質問者

お礼

おかげさまで、解決しました。ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>最終列まで データの入っている、同(指定・注目した)行の一番右の列を割り出す、コード。 よく使う、かつ、早いうちに必要になる、常識だよ。 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

citrus508
質問者

お礼

勉強になりました。ありがとうございました。

関連するQ&A