首页 > 解决方案 > VBA PasteSpecial Transpose 给出应用程序定义或对象定义的错误(1004)

问题描述

我正在尝试从 CSV 文件复制一整列(减去标题)并将其粘贴到我的 excel 文件中。

“运行时错误'1004':应用程序定义的或对象定义的错误(1004)”在我尝试运行粘贴转置操作的最后一行标记,我不知道为什么?

代码如下:

Sub UpdateData()

Dim LastRow_1 As Long      ' Set up variable                                                                           
LastRow_1 = Workbooks("ProconData").Worksheets(1).Cells(Rows.Count,1).End(xlUp).Row ' Find last non-blank row


Dim CopyRange_1 As Range      ' Set up variable  
Set CopyRange_1 = Workbooks("ProconData").Worksheets("ProconData").Range("A2").Resize(LastRow_1, 1)  ' Define copy range

Dim PasteRange_1 As Range      ' Set up variable  
Set PasteRange_1 = Workbooks("TBM Ground Condition 
Record").Worksheets("RECORD").Range("LV4") '.Resize(4, 334 + LastRow_1) ' Define paste range

Workbooks("TBM Ground Condition Record").Worksheets("RECORD").Range(PasteRange_1).PasteSpecial Transpose:=True, Paste:=xlPasteValues  ' Transpose & paste data

End Sub

任何帮助将非常感激!

标签: vbaexcel

解决方案


试试下面

Sub UpdateData()
    Dim LastRow_1 As Long      ' Set up variable
    LastRow_1 = Workbooks("ProconData").Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row ' Find last non-blank row
    Dim CopyRange_1 As Range      ' Set up variable
    Set CopyRange_1 = Workbooks("ProconData").Worksheets("ProconData").Range("A2").Resize(LastRow_1, 1)  ' Define copy range
    CopyRange_1.Copy
    Workbooks("TBM Ground Condition Record").Worksheets("RECORD").Range("LV4").PasteSpecial Transpose:=True  '.Resize(4, 334 + LastRow_1) ' Define paste range
End Sub

推荐阅读