处理一些代码以复制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
答案 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列中。