select范围并粘贴到每个第n列

使用一些代码复制E列中的有效范围的单元格,然后将范围(从同一行开始)粘贴到第n列中。 复制select部分工作正常,但我不能得到粘贴部分正确的语法。 我试图设置单元格等于select,因为我不确定适当的语法来粘贴select的值。 任何帮助/指导表示赞赏! 这是我的代码:

Sub Sco__copy() Dim cpval As Range Dim lastRow As Long With Worksheets("Sheet1") lastRow = .Cells(Rows.Count, "E").End(xlUp).Row .Range("E163:E" & lastRow).Select Set cpval = Selection End With For colx = 12 To 1000 Step 7 Cells(lastRow, colx).Value = cpval Next End Sub 

尝试这个:

 Sub Sco__copy() Dim cpval As Range Dim lastRow As Long With Worksheets("Sheet1") lastRow = .Cells(Rows.Count, "E").End(xlUp).Row Set cpval = .Range("E163:E" & lastRow) For colx = 12 To 1000 Step 7 .Range(.Cells(163, colx), .Cells(lastRow, colx)).Value = cpval.Value Next End With End Sub 

这个想法是,当分配值时,目标范围需要与原始大小相同。

所以通过扩展with语句并创build一个相同大小的范围,它应该把每个单元格放在第7列中。