【发布时间】:2018-06-19 08:43:30
【问题描述】:
我正在尝试将所有列数据从一个 excel 的列 range A:AU 复制到我编写的列 A:AU 的同一范围内的另一个 excel代码。
两个 excel 都放置在我计算机中的不同位置,我已经在我想要粘贴数据的 excel 中编写了我的 vba 代码,而不是在我复制数据的 excel 中。
我从中复制数据的 excel 名称是 "EXRData_08.01.2018.xlsx",工作表名称是 "EXR_extract_EX"
& 我要粘贴数据和编写 vba 代码的 excel 名称是 "UnattendedData.xlsm",工作表名称是 "RawData" .
我正在尝试从第一个 excel 中复制 range A:AU 中的整个列内容,并将其粘贴到另一个存在代码的 excel 中的相同 range of A:AU 中但我收到错误,它没有运行。请帮助我解决这个问题。
下面是我的代码-
Sub panos()
Dim r1 As Range, r2 As Range, N As Long
Workbooks.Open "\01_Tool\Data\EXRData_08.01.2018.xlsx"
N = Sheets("EXR_extract_EX").Cells(Rows.Count, "A:AU").End(xlUp).Row
Set r1 = Sheets("EXR_extract_EX").Range("A:AU" & N)
Workbooks.Open "_Master\Saurabh\UnattendedData.xlsm"
Set r2 = Sheets("RawData").Range("A:AU")
r1.Copy r2
End Sub
【问题讨论】:
-
你得到了什么错误,在哪一行?
-
我从这里开始出错 - N = Sheets("EXR_extract_EX").Cells(Rows.Count, "A:AU").End(xlUp).Row Set r1 = Sheets("EXR_extract_EX" ).Range("A:AU" & N) --对象定义错误。 @Peh
-
Range("A:AU" & N)不是有效范围,对于整列,它应该是Range("A:AU")或类似Range("A" & N & ":AU" & N)的东西。我还建议使用Workbooks.Open中的完整文件路径并为表格指定工作簿,否则您会遇到问题。此外,UnattendedData.xlsm也不需要打开,因为在您运行该文件中的代码时,它已经打开了。