返回列表 上一主題 發帖

[發問] 求助,如何用VBA把拆分工作表及存檔日期

[發問] 求助,如何用VBA把拆分工作表及存檔日期

大家好,

請教大家,兩個問題

(1)工作薄中有a b c d e f g,共7個sheet,我只想拆出c e g這3個sheet為獨立的檔案,其他4個不拆分。

(2)存檔日期,成指定為sheet g 中,A1的數值(A1=20120408)。

請教大家,該如何修改下面的VBA,才能實現我想要的功能,感謝大家幫忙


Sub test()
    Dim sht As Worksheet, ipath As String, iname As String
    ipath = ThisWorkbook.Path & "\"
    Application.ScreenUpdating = False
    For Each sht In ThisWorkbook.Worksheets
        iname = sht.Name
        sht.Copy
        With ActiveWorkbook
  .SaveAs Filename:=ipath & iname & "  " & sht1.Range("a1") & ".xls"
          .Close
        End With
    Next
    Application.ScreenUpdating = True
End Sub

回復 13# register313


    感謝register313大大,已經可以了,謝謝您。;P

TOP

看到各位先進的詳細解答,讓小弟受益不少,真是太感謝了^^

TOP

回復 12# threelin
  1. Sub ex()
  2. n = Sheets("g").[A1]
  3. sht = Array("c", "e", "g")
  4. ipath = ThisWorkbook.Path & "\"
  5. For Each sh In Sheets(sht)
  6. sh.Copy
  7. With ActiveWorkbook
  8. Cells.Copy
  9. Cells.PasteSpecial Paste:=xlPasteValues
  10. fs = ipath & n & sh.Name & ".xls"
  11. .SaveAs fs
  12. .Close
  13. End With
  14. Next
  15. End Sub
複製代碼

TOP

回復 11# register313

感謝register313 的幫忙。:)

剛才又發現一個問題,c 、e 、g三個表的資料是連結到其它表格的
拆成獨立檔案後,在c 、e 、g 三個表中,儲存格還是會有連結路徑

請教您
該如何修改成,先將c 、e 、g 三個表中的數值選擇性貼上後,再拆分成三個獨立檔案,謝謝您。

TOP

本帖最後由 register313 於 2012-4-23 13:12 編輯

回復 10# threelin


fs = ipath & n & sh.Name &  ".xls"

TOP

回復 9# Hsieh


    謝謝版主您的回覆,我明白了。

 請教您,如果是把日期放在前面,是不是不可行,還是有其它的寫法?

TOP

回復 8# threelin
ipath=Thisworkbook.Path & "\"
ipath是存檔位置
例如:Thisworkbook是存放在D:\TEMP
ipath就是"D:\TEMP\"
若n="e"
n &  ipath就成了"eD:\TEMP\"

所以n &  ipath這樣是找不到這個資料夾,所以出錯
學海無涯_不恥下問

TOP

回復 6# Hsieh


    感謝版主細心及耐心的回答,可以用了,謝謝您。:)


    我把 08.fs = ipath & sh.Name & n & ".xls"   改成 08.fs = n & ipath & sh.Name &  ".xls"

    跳出錯誤,不知道是為什麼?

TOP

本帖最後由 bbojj 於 2012-4-23 00:28 編輯

感謝版主
又多學了一些東西!

有個問題請教
設定 ipath=ThisWorkBook.path 是要讓 Copy出來的檔案與原檔在同一個資料夾底下嗎?
謝謝回答!

TOP

        靜思自在 : 欣賞別人就是莊嚴自己。
返回列表 上一主題