Excelのマクロの構文です。最終行を調べて、その最終行まで同じことをさせたい時があると思いますが、その方法について紹介します。
記載方法
ActiveSheet.UsedRange.Rows.Count
この文面で最下行の行番号を調べることができます。
使い方
最下行 = ActiveSheet.UsedRange.Rows.Count
のように変数「最下行」に行数を入れて、
Msgbox 最下行
で表示して確認できます。
Sub LastRow()
最下行 = ActiveSheet.UsedRange.Rows.Count
MsgBox 最下行
End Sub
その情報からA列の最下部へセルを移動するには、
Sub LastRow()
最下行 = ActiveSheet.UsedRange.Rows.Count
MsgBox 最下行
Range(“A” & 最下行).Select
End Sub
応用
一番上に式を入れて、その式を最下部までコピーして、さらに式を値固定して終了するマクロのブロック 注意)このマクロを動かす場合には、一番上に式を入れたセルを選択した状態で動かしてください。
※注意)式を入れたセルを選択した状態で起動
Sub 最上部の式を最下部までコピーして値固定する()
Selection.Copy
最下行 = ActiveSheet.UsedRange.Rows.Count
saika = “A1:A” & 最下行
ActiveCell.Range(saika).Select
ActiveSheet.Paste
ActiveCell.Columns(“A:A”).EntireColumn.Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
別の方法で最下行を調べる
A列のかなり下の行から、エンドアップキーで上に飛び、今あるセルの番地を調べて表示する。
※注意)A列に最終行のセルが入力されていないと、最終行とはなりません。
Sub かなり下の行から上に向かってエンドキー()
Application.Goto Reference:=”R65000C1″
Selection.End(xlUp).Select
セル番地 = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False)
MsgBox “今あるセル番地は” & セル番地
End Sub
コメント