我遇到了在下面提到的vba代码中粘贴数据的问题:
Range("B:AK").Select
Selection.Copy
Range("AN:BW").Paste
我需要将范围从B列复制到列AK的数据并将其粘贴到从AN到BW的列中。但我收到错误1004.请帮助我更新版本的代码。和列属于同一工作表。
答案 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
如果有帮助,请告诉我。