用于将所选数据粘贴到从特定列开始的另一个范围的Vba代码

时间:2017-11-02 06:45:43

标签: excel vba excel-vba

我遇到了在下面提到的vba代码中粘贴数据的问题:

Range("B:AK").Select
Selection.Copy
Range("AN:BW").Paste

我需要将范围从B列复制到列AK的数据并将其粘贴到从AN到BW的列中。但我收到错误1004.请帮助我更新版本的代码。和列属于同一工作表。

3 个答案:

答案 0 :(得分:1)

复制>>粘贴是一行命令:

Range("B:AK").Copy Range("AN:BW")

修改1:

Dim LastRow As Long, LastCell As Range

With Worksheets("Sheet1") ' change to your sheet's name
    ' safest way to get the last row with data in column "B:AK"

    Set LastCell = .Columns("B:AK").Find(What:="*", Lookat:=xlPart, LookIn:=xlFormulas, _
                        SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)

    If Not LastCell Is Nothing Then
        LastRow = LastCell.Row
    Else
        MsgBox "Error! worksheet is empty", vbCritical
        End
    End If

    .Range("B2:AK" & LastRow).Copy .Range("AN2")
End With

答案 1 :(得分:0)

尝试:

Range("B:AK").Select
Selection.Copy
Range("AN").Select
Activesheet.Paste

如果它不起作用,请尝试向AN添加行号,例如" AN1"

答案 2 :(得分:0)

试试这个

Range("$B$2:$AK$1048576").Select
Selection.Copy
Range("AN2").Select
ActiveSheet.Paste

如果有帮助,请告诉我。