试试这个
注:
Option Explicit
Public Sub copyRange()
Const FIRST_ROW As Long = 1: Const TOTAL_ROWS As Long = 3
Const FIRST_COL As Long = 1: Const TOTAL_COLS As Long = 3
Dim totalCopies As Long, i As Long, sh As Worksheet
Application.ScreenUpdating = False
Sheets("Sheet3").Cells.Delete
totalCopies = Sheets("Sheet1").Range("C5").Value2
With Sheets("Sheet2") 'COPY
.Range(_
.Cells(FIRST_ROW, FIRST_COL), _
.Cells(FIRST_ROW + TOTAL_ROWS - 1, TOTAL_COLS) _
).Copy
End With
For i = 1 To totalCopies 'PASTE * value in C5
Sheets("Sheet3").Cells(((TOTAL_ROWS + 1) * (i - 1)) + 1, FIRST_COL).PasteSpecial
Next
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
这是可能的。 AFAIK,您需要执行'.Copy'和'.Paste'或'.PasteSpecial'方法。如果有人知道另一种方式,我也很高兴听到它。 – ZygD
你有什么图纸/哪一行数据要复制的图案/订单?你已经提到过''在'sheet3'上的''row1'',然后在'sheet3'上的'row4'上,然后在'sheet2'上的'row8'上,然后沿着表单进一步下去并进一步复制。 – nirmalraj17