すみません、初心者です。ご教示ください。
今、表中の合計行(表の最終行)の上に、行を挿入するマクロを作成しておりまして。
【コマンドボタンを押すと、ウィンドウが出てきて、挿入したい行数を入力すれば、その分だけ挿入される】
Sub 表の行挿入()
Dim r2 As Long
Dim r As Long
Dim rge As Range
A列に合計欄があることが前提
Set rge = ActiveSheet.Range("A:A").Find("計")
if rge Is Nothing Then Exit Sub
r = rge.Row
r2 = TextBox1.Text
If r2 > 0 Then
ActiveSheet.Range("A" & r & ":F" & (r + r2 - 1)).Insert xlDown
・・・
とここまで記述して、なやんでいます。
表はこの場合A列からF列までの範囲のものなのですが、
上記AやFという記述ではなく、マクロにて表の範囲指定を、うまくできないかな、と。
よろしくお願いいたします。
行全体を挿入するのではなくてある列までに挿入する作業ですね。
次のようにマクロを一部修正すればよいでしょう。
F列は6列目に相当しうますので、
If r2 > 0 Then
Range(Cells(r, 1), Cells(r, 6)).Select
For i = 1 To r2
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next
End If
なお、Insert.xDownのみの場合には行が挿入されますのでF列までに行を挿入するのとは違いますね。単に行の挿入であればF列までなどの条件は必要ないでしょう。
お礼
お礼、おそくなりました。 確かに!です。わかりやすい記述、ありがとうございました。