Tru*_*ran 4 vba move rows offset
我试图选择我的电子表格的前7行(确切的数字可能会有所不同)并将其向下移动32行(向下移动的行数也可能不同).有人可以帮我代码吗?我试过了:
Worksheets("Report").Cells(x1, 5).EntireRow.Offset(32, 0).Select
Run Code Online (Sandbox Code Playgroud)
我也试过了
for i = 1 to 7
set x1 = worksheets("Report").Cells(i, 5)
Rows(x1).EntireRow.Offset(32, 0).Select
Run Code Online (Sandbox Code Playgroud)
也不会工作.在此先感谢您的帮助!
Dou*_*ncy 10
这就是你要求的,如果在32次之后有任何行将它们向下移动:
Sub MoveRowsDown()
Dim NumRows As Long
Dim TargetRow As Long
Dim ws As Excel.Worksheet
NumRows = 7 'change as necessary
TargetRow = 33 'change as necessary
Set ws = ActiveSheet ' change as necessary
ws.Range("A1").Resize(NumRows).EntireRow.Cut
ws.Range("A" & TargetRow + NumRows).EntireRow.Insert shift:=xlDown
End Sub
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个只剪切和粘贴的版本,没有花哨的插入:
Sub MoveRowsDown()
Dim NumRows As Long
Dim TargetRow As Long
Dim ws As Excel.Worksheet
NumRows = 7 'change as necessary
TargetRow = 33 'change as necessary
Set ws = ActiveSheet ' change as necessary
ws.Range("A1").Resize(NumRows).EntireRow.Cut Destination:=ws.Range("A" & TargetRow)
End Sub
Run Code Online (Sandbox Code Playgroud)