我对这个网站很新,所以请耐心等待。
我的问题:
假设我需要从A2:X16
复制单元格Sheet 1
并将其粘贴到Sheet 2
15次,然后将A17:X31
从Sheet 1
粘贴到Sheet 2
15次,就在我之前复制的那个之下。
Sub etest()
Dim Rng as range
If IsNumeric(Range("BX3")) = True Then
MsgBox "Success!"
Set Rng = Range("A2:X16")
Rng.Copy Rng.Offset(15).Resize(Range("BW3") * Rng.Rows.Count)
Else
MsgBox "please enter a valid number."
End If
Application.CutCopyMode = False
End Sub
答案 0 :(得分:0)
您的代码不会复制任何内容或将单元格值设置为等于另一个单元格值(两种方式都用于将内容从一个单元格移动到另一个单元格)。
此代码使用几个简单循环将Sheet1
中的两个静态范围复制到Sheet2
中的动态范围。
代码使用ThisWorkbook
,它是对包含代码的工作簿的引用。您也可以根据需要使用ActiveWorkBook
或Workbooks("MyNamed_WorkedBook")
。
Sub Test()
Dim lRow As Long
For lRow = 0 To 14
ThisWorkbook.Worksheets("Sheet1").Range("A2:X16").Copy _
Destination:=ThisWorkbook.Worksheets("Sheet2").Cells(lRow * 15 + 2, 1)
Next lRow
For lRow = 15 To 29
ThisWorkbook.Worksheets("Sheet1").Range("A17:X31").Copy _
Destination:=ThisWorkbook.Worksheets("Sheet2").Cells(lRow * 15 + 2, 1)
Next lRow
End Sub