选择范围并粘贴到每个第n列

时间:2016-03-11 16:38:27

标签: excel vba excel-vba loops macros

处理一些代码以复制E列中活动范围的单元格,然后将范围(从同一行开始)粘贴到每个第n列。副本选择部分工作正常但我无法获得粘贴部分的正确语法。我尝试将单元格设置为等于选择,因为我不确定在适当的语法上粘贴选择的值。任何帮助/指导表示赞赏!这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

试试这个:

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语句并创建一个相同大小的范围,它应该将单元格放在每第7列中。