プロが教える店舗&オフィスのセキュリティ対策術

Sub test()
 R = Selection.Row
 C = Selection.Column
  Range(Cells(R , C), Cells(R + 100, C)).Select
  Selection.Cut
  Cells(R + 1, C).Select
  ActiveSheet.Paste
End Sub

上記マクロは、アクティブセルから100行下までの範囲で"切り取り"を実行し、一行下のセルに"貼付け"を行います。

上記の処理を、複数のセルが選択されている時は、複数回カット&ペーストが行われるように変更したいのですが。
(選択されるセルは必ず同一列内の連番になります)
(選択内で一番上のセルとその上のセルは連続したままになり、選択内で一番下のセルとその下のセルも同様になります)

A1 a
A2 b
A3 c
A4 d
A5 e
A6 f
A7 g
A8 h
A9 i

上記でA3:A6を選択して実行すると、以下の結果になります。

A1 a
A2 b
A3 c
A4
A5 d
A6
A7 e
A8 
A9 f
A10 g
A11 h
A12 i

最初のマクロをどのように変えればいいでしょうか?

A 回答 (1件)

意図が良く解らんのですが、これではダメ?



Sub test1()
 With Selection
  For i = .Row + .Rows.Count - 1 To .Row + 1 Step -1
    Cells(i, .Column).Insert xlShiftDown
  Next i
 End With
End Sub
    • good
    • 0
この回答へのお礼

うまくいきました。
有難うございました。

お礼日時:2006/04/28 05:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!