繁体   English   中英

将两列从一个Excel工作表复制到另一个

[英]Copy two columns from one Excel sheet to another

我需要使用VBScript将一个Excel工作表的两列复制到另一Excel工作表的同一列。 这些列彼此相邻,我正在使用以下代码,这些代码是通过一些搜索得到的,并根据需要进行了更改。 如果要复制一列,而不是将两列从一个Excel复制到另一列,则工作正常。

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:\Desktop\Customer.xlsx")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\Documents\Folder1\Test.xlsx")

Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Activate

Set objRange = objWorkSheet.Range("A1").EntireColumn
Set objRange = objWorkSheet.Range("B1").EntireColumn
objRange.Copy

Set objWorksheet2 = objWorkbook2.Worksheets(1)
objWorksheet.Activate

Set objRange = objWorkSheet2.Range("A1")
Set objRange = objWorkSheet2.Range("B1")
objWorksheet.Paste(objRange)

我的输入Excel文件是:

Customer Number    Customer Name
1001    Wendy
1002    Subway
1003    McDonalds

我的输出Excel文件具有相同的列名,但目前在这些列中没有值。 从输入Excel复制后,第二个Excel文件中的这些列应具有相同的值。

 Set objRange = objWorkSheet.Range("A1").EntireColumn Set objRange = objWorkSheet.Range("B1").EntireColumn 

上面的两个语句首先选择A列,然后选择B列。要选择2列,请使用以下内容:

Set objRange = objWorkSheet.Range("A:B").EntireColumn

您甚至不需要将选择分配给变量。 只需在对象上调用方法:

objWorkSheet.Range("A:B").EntireColumn.Copy
objWorkSheet2.Paste objWorkSheet2.Range("A1")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM