![](/img/trans.png)
[英]How to copy column data from one sheet and then copy that to another sheet in vba excel
[英]How to copy all column data from one excel to another excel sheet
我正在尝试将一个Excel的列范围A:AU中的所有列数据复制到我在其中编写代码的A:AU列的相同范围中的另一个Excel。
两种excel都放在我的计算机中的不同位置,并且我已在要粘贴数据的excel中而不是从复制数据的excel中编写了我的vba代码。
我从中复制数据的excel的名称是“ EXRData_08.01.2018.xlsx” ,工作表名称是“ EXR_extract_EX”
&excel的名称,我要粘贴数据的位置以及我已编写vba代码的位置的名称为“ UnattendedData.xlsm” ,工作表名称为“ RawData” 。
我正在尝试从第一个excel复制范围A:AU的整个列内容,并将其粘贴到存在代码的另一个excel中的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
UnattendedData.xlsm
。 如果这是工作簿,则您从中运行的代码已经打开。 Workbooks.Open
的完整路径。否则请打开。 Worksheets
代替工作Sheets
。 Sheets
还包含图表等。 Worksheets
或Worksheets
Sheets
始终指定工作簿,如wb.Worksheets(…)
。 否则,Excel会猜测工作簿,并且可能会失败。 您的代码中的实际问题是Range("A:AU" & N)
不是有效范围。 例如,对于N=15
这将导致"A:AU15"
无效。 它应该是"A15:AU15"
或"A:AU"
。
我怀疑如果该列的其余部分仍然为空,那么使用一个或另一个会在性能上有很大的优势,因此我只复制整个列。
例:
Option Explicit 'make sure all variables have to be declared correctly
Public Sub CopyRanges()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\YOUR_FULL_PATH_HERE\01_Tool\Data\EXRData_08.01.2018.xlsx")
Dim shtSource As Worksheet
Set shtSource = wb.Worksheets("EXR_extract_EX")
'^-- Always specify a wb for a sheet
Dim shtDestination As Worksheet
Set shtDestination = ThisWorkbook.Worksheets("RawData")
'^-- here we specify the workbook we are running the code in
'copy the ranges
shtSource.Range("A:AU").Copy shtDestination.Range("A:AU")
wb.Close SaveChanges:=False 'don't forget to close the workbook
End Sub
请注意,如果您需要相对于ThisWorkbook
路径的路径,则可以使用类似
ThisWorkbook.Path & "\01_Tool\Data\EXRData_08.01.2018.xlsx"
如果它在相同的基本路径中,但是在不同的子文件夹中,则可以使用\\..\\
向后走,以退出子文件夹,例如
ThisWorkbook.Path & "\..\..\01_Tool\Data\EXRData_08.01.2018.xlsx"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.