我试图将此VBA代码应用于所有工作表,但无济于事:
Sub MoveColsDown()
' MovetoA16 Macro
For Each sh In ThisWorkbook.Worksheets
Range("A1:I1171").Select
Selection.Cut Destination:=Range("A16:I1186")
Next
End Sub
基本上,我正在尝试选择工作表中的所有内容并将其向下移动,以使数据的左上角现在位于A16中,而不是A1中。
对于我来说,选择所有数据可能还有更好的方法吗?现在,我只指定了一个范围,该范围远大于任何数据将占据的空间。
谢谢。
P.S。如果有一种方法可以将某些工作表从此流程中排除,我想学习一下...名为“仪表板”的工作表。
答案 0 :(得分:4)
只需在工作表顶部插入15行。
Sub MoveColsDown()
dim sh as worksheet
For Each sh In ThisWorkbook.Worksheets
if sh.name <> "Dashboard" then
sh.Range("1:15").entirerow.insert
end if
Next sh
End Sub
答案 1 :(得分:0)
只需限定范围:
Sub MoveColsDown()
' MovetoA16 Macro
For Each sh In ThisWorkbook.Worksheets
sh.Range("A1:I1171").Cut Destination:=sh.Range("A16:I1186")
Next
End Sub
注意:
我们不需要Select
。