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

时间:2016-06-21 08:02:31

标签: excel-vba vbscript vba excel

我需要使用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文件中的这些列具有相同的值。

1 个答案:

答案 0 :(得分:0)

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")