我有一个工作表,我想格式化每个第11到第13行,如第5到第7行。我到目前为止意识到我不知道如何推进循环。所以很明显,如果我甚至没有正确地执行此操作,那么sub是仅仅格式化行11-13 37×的微弱尝试。
Rows("5:7").Select
Selection.Copy
For i = 1 To 37
Rows("11:13").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
答案 0 :(得分:0)
听起来你想开始复制行5:7中的格式,然后将11行前进到16:18,27:29,38:40等行,共计3个附加组并粘贴格式。为此,您需要在For Next statement中引入步骤参数。 Step参数始终存在,但默认为 1 ,因此除非您希望以 1 之前的增量前进,否则通常不会显示。
For i = 0 To 33 step 11
if i = 0 then
Rows("5:7").copy
else
Rows("5:7").offset(i,0).PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
end if
Next i
Application.CutCopyMode = False
Step 11
表示每个周期 i 将递增 11 。这在.Offset(i, 0)
中用于进一步向下推进工作表。