VBAの勉強を始めてみた

色々試しています。

指定した数の行を挿入する (軽負荷版)

前回投稿した後、CPUに負荷をかけない方法に気がついたので、再度仕切り直します(;^_^A ※負荷のかかるFor ~Nextをやめました

 

現在の行(セル単体の選択、または通常の挿入のように行全体を選択してもよし)の上方向に指定した数の行を挿入します。

挿入方向と書式の引継ぎはEXCELで通常挿入した場合と同じです。

行数を自分で数える手間がないぶん少しだけ楽です。

百万行を上限にしています。(・・・需要はあるのか?)

 

***************************************

Sub n行挿入する軽負荷版()
   
    '現在の行の上方向にn行挿入する
    '現在の行の上の書式がコピーされる
   
    Dim n As Long

    n = InputBox("挿入する行数を入力して下さい")
   
    If n >= 1 And n <= 1000000 Then
        Rows(ActiveCell.Row & ":" & ActiveCell.Row + n - 1).Insert xlShiftDown, xlFormatFromLeftOrAbove
    ElseIf n > 1000000 Then
        MsgBox "数値が大きすぎます"
    Else
        MsgBox "1以上の数値を入力して下さい"
    End If
   
End Sub

***************************************

 ※SubからEnd Subまでをコピペしてマクロを使用できます。使用の際は自己責任でお願いいたします。