返回列表 上一主題 發帖

如何複製工作頁到第二個檔案

如何跟據資料匯出檔案

請問各位高手
如何跟據下面資料
將有關工作表另存成個別檔案,並存放在c:\import 內, 例如:
檔案AA 包括 工作表 sheet1, sheet2, sheet3, 及book1,book2 內的所有工作表
檔案BB 包括 工作表 sheet4, sheet5, sheet6, book3內的所有工作表

sheet1-sheet6 在現有工作表內
book1- book3 存放在C:\export內

新檔案名  工作表或檔案名稱
AA        sheet1
AA        sheet2
AA        sheet3
AA        book1.xls
AA        book2.xls
BB        sheet4
BB        sheet5
BB        sheet6
BB        book3.xls
[attach]6844[/attach]

Book1.zip (1.97 KB)

TOP

請問有高手可以幫到忙嗎?

TOP

本帖最後由 GBKEE 於 2011-7-8 19:54 編輯

回復 2# enoch
將有關工作表另存成個別檔案,並存放在c:\import 內, 例如:
檔案AA 包括 工作表 sheet1, sheet2, sheet3, 及book1,book2 內的所有工作表
檔案BB 包括 工作表 sheet4, sheet5, sheet6, book3內的所有工作表
sheet1, sheet2, sheet3,sheet4, sheet5, sheet6 是開啟中檔案的工作表嗎?

TOP

GBKEE
sheet1, sheet2, sheet3,sheet4, sheet5, sheet6 包括提供資料的工作表
都是在開啟中檔案 summary.xls 的工作表內
而 book2, 及 book3 是存在於c:\export\內未開啟的檔案
現希望跟據資料, 將工作表 sheet1, sheet2, sheet3, 及 book1,book2 檔案內的所有工作表
結合成新檔案AA.xls 並存於 c:\test\
請幫忙

TOP

本帖最後由 GBKEE 於 2011-7-9 10:40 編輯

回復 4# enoch
試試看
  1. Sub Ex()
  2.     Dim NewBook As Workbook
  3.     With Workbooks("summary.xls")
  4.         '''''''''''''''''''''''''''''''''''
  5.         Set NewBook = Workbooks.Open("c:\export\BOOK1.XLS")     '開啟BOOK1
  6.         With Workbooks.Open("c:\export\BOOK2.XLS")              '開啟BOOK2
  7.             .Sheets.Copy After:=NewBook.Sheets(NewBook.Sheets.Count) '全部工作表複製到 BOOK1的後面
  8.             .Close False                                        '關閉BOOK2 不存檔
  9.         End With
  10.         .Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy After:=NewBook.Sheets(NewBook.Sheets.Count)
  11.                                                                 '所選的工作表複製到 BOOK1的後面
  12.         NewBook.Close True, "c:\test\AA.XLS"                    '關閉BOOK1 存檔為 "c:\test\AA.XLS"
  13.         ''''''''''''''''''''''''''''''''''''''''''
  14.         Set NewBook = Workbooks.Open("c:\export\BOOK3.XLS")     '開啟BOOK3
  15.         .Sheets(Array("Sheet4", "Sheet5", "Sheet6")).Copy After:=NewBook.Sheets(NewBook.Sheets.Count)
  16.                                                                 '所選的工作表複製到 BOOK3的後面
  17.         NewBook.Close True, "c:\test\BB.XLS"                    '關閉BOOK3 存檔為 "c:\test\BB.XLS"
  18.     End With
  19. End Sub
複製代碼

TOP

不好意思, 誤會了我的問題,
其實以上只是例子
檔案及工作表名稱及資料多少其實不會固定

TOP

回復 6# enoch
如此的話 為何你1樓的附檔只有三個工作表

TOP

如何複製工作頁到第二個檔案

我想將工作頁複製到第二個檔案的最後面,

   fileN = Cells(2, 1)
    sheetn = Cells(2, 2)
Sheets(sheetN).Copy before:=Workbooks(fileN).Sheets(1)

但結果出現錯誤, 陳列索引超出範圍, 請問錯在何處及應如何修改
請指教

Sheets(sheetN).Copy before:=Workbooks(fileN).Sheets(1)

是複製到第二個工作簿的最前面
語句應沒問題,也許是你第二個工作簿沒打開。

TOP

檢查過檔案有開啟,及附上整個巨集內容,
請指教錯在何處

Sub export()

    Sheets("export").Select
    Range("A1").Select
    fileN = Cells(2, 1)
    sheetn = Cells(2, 2)
     Workbooks.Add
   
ChDir "C:\"
ActiveWorkbook.SaveAs Filename:=fileN
ThisWorkbook.Activate

Sheets(sheetn).Select
Sheets(sheetn).Copy before:=Workbooks(fileN).Sheets(1)

End Sub

Book1.zip (8.2 KB)

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題