繁体   English   中英

如何将特定的列值从一个Excel文件复制到另一个?

[英]How to Copy specific column values from one excel file to another?

我正在尝试将特定的列值从一个Excel文件复制到另一个。 这就是我尝试过的。

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:\A.xls")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\C.xls")

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

Set objRange = objWorksheet.Range("A:Q").EntireColumn
objRange.Copy

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

objWorksheet.Range("A:B").EntireColumn.Copy objWorksheet2.Paste
objWorksheet2.Range ("A1")

objWorksheet.Columns("Q").EntireColumn.Copy objWorksheet2.Paste
objWorksheet2.Range ("C1")

objWorkbook2.Save 
objWorkbook2.Close

我的疑问是,列Q包含公式。 因此,当复制列时,仅复制公式,而不复制值。 请帮助复制单元格中的值,但不能复制公式。

提前致谢。

尝试这个。 您应该养成声明变量(以及格式化代码)的习惯。

Sub x()

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

Set objWorkbook = objExcel.Workbooks.Open("C:\A.xls")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\C.xls")

Set objWorksheet = objWorkbook.Worksheets(1)

Set objRange = objWorksheet.Range("A:Q").EntireColumn
objRange.Copy 'not sure what this does

Set objWorksheet2 = objWorkbook2.Worksheets(1)

objWorksheet.Range("A:B").Copy objWorksheet2.Range("A1")

objWorksheet.Columns("Q").EntireColumn.Copy
objWorksheet2.Range("C1").PasteSpecial xlValues

objWorkbook2.Save
objWorkbook2.Close

End Sub

暂无
暂无

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

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