【发布时间】:2015-03-04 21:58:07
【问题描述】:
这就是我想要做的:
- 打开文件:Pc_Profile
- 创建新工作表:Sheet1
- 将所需单元格从 Pc_Profile 复制到 Sheet1(参见下面的脚本)
- 将整个 Sheet1 复制到新的 excel 文件:db.xls
- 将工作表重命名为单元格 A5 的内容
- 为下一次脚本运行创建新工作表
基本上,我正在尝试将大量 excel 文件自动提取到一个有组织的文件中。每个脚本调用都应提取到自己的工作表中,以免信息被覆盖。
这是我到目前为止所做的工作。它只是将所需的单元格复制到同一文件中的新工作表中。
' Create Excel object
Set objExcel = CreateObject("Excel.Application")
' Open the workbook
Set objWorkbook = objExcel.Workbooks.Open _
("\\[directory]\Pc_Profile.xls")
' Set to True or False, whatever you like
objExcel.Visible = True
objWorkbook.Worksheets("Pc_Profile").Range("A5:D5").Copy
objWorkbook.Worksheets("Sheet1").Range("A1").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A8:B8").Copy
objWorkbook.Worksheets("Sheet1").Range("A2").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A13:B13").Copy
objWorkbook.Worksheets("Sheet1").Range("A3").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A15:D17").Copy
objWorkbook.Worksheets("Sheet1").Range("A4").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A24:E26").Copy
objWorkbook.Worksheets("Sheet1").Range("A7").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A28:B30").Copy
objWorkbook.Worksheets("Sheet1").Range("A10").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A43:B43").Copy
objWorkbook.Worksheets("Sheet1").Range("A13").PasteSpecial
objWorkbook.Worksheets("Pc_Profile").Range("A45:B45").Copy
objWorkbook.Worksheets("Sheet1").Range("A14").PasteSpecial
' Activate Sheet2 so you can see it actually pasted the data
objWorkbook.Worksheets("Sheet2").Activate
我真的很感激额外的推动。我正在为一个工作项目自动执行此操作,并且没有使用 VB 的经验 - 我只是在旅途中了解到这一点。
【问题讨论】:
标签: vba excel automation