Board logo

標題: 有關另存新檔問題.. [打印本頁]

作者: gca78000    時間: 2010-6-7 10:37     標題: 有關另存新檔問題..

請問各位版大如範例..
我要另存新檔而檔名會自動用儲存格B1與B3儲存格內容作為檔名
指定路徑為D槽[attach]1163[/attach]
不知VBA要如何寫請各位版大指導謝謝...
作者: victorl    時間: 2010-6-7 10:51

ActiveWorkbook.SaveAs Filename:="D:\" & range("B1").value & range("B3").value  & ".xls"
作者: gca78000    時間: 2010-6-7 11:18

回復 2# victorl


    謝謝大大指導但為何執行後會自動開啟新檔文件
作者: gca78000    時間: 2010-6-7 11:32

ActiveWorkbook


我用ActiveWorkbook.Close但會關掉文件
請大大指導
作者: ANGELA    時間: 2010-6-7 12:41

EXCEL 另存新檔內訂就是關閉舊檔開啓新檔
加入 Workbooks.Open "D:\ 原來檔名.xls"
作者: gca78000    時間: 2010-6-7 13:20

回復 5# ANGELA


    謝謝大大指導但還是不行ㄝ
作者: victorl    時間: 2010-6-7 13:44

請問你是想要另存新檔再開啟原檔案嗎?
請參考
    Orig = ThisWorkbook.Path & "\" & ThisWorkbook.Name '取得原檔案路徑及名稱
    ActiveWorkbook.SaveAs Filename:="D:\" & Range("B1").Value & Range("B3").Value & ".xls" ' 依要求B1&B3內容另存新檔
    newfile = ActiveWorkbook.Name
    Workbooks.Open Filename:=Orig ' 開啟原檔案
    Workbooks(newfile).Close ' 關閉另存之檔案
註. 另存新檔之前的變更不會存在於原檔案喔
作者: gca78000    時間: 2010-6-7 15:38

回復 7# victorl


    謝謝大大指導已經可以..小弟受益匪淺.
再請問一下如儲存格B3到B33要自動秀出日期表單讓我可以挑選要如何寫..
請指導謝謝
作者: gca78000    時間: 2010-6-7 15:51

回復 8# gca78000


    再請問大大一下.
如另存新檔後要把內的 vba程式碼也消除要如何寫
請指導謝謝...
作者: GBKEE    時間: 2010-6-7 16:25

本帖最後由 GBKEE 於 2010-6-7 16:30 編輯

回復 7# victorl
直接將檔案複製即可 不必開開關關
  1. Sub Ex()
  2. Dim D
  3. Set D = CreateObject("Scripting.FileSystemObject")
  4. ActiveWorkbook.Save
  5. D.CopyFile ActiveWorkbook.FullName, "D:\" & Range("B1") & Range("B3") & ".xls"
  6. End Sub
複製代碼

作者: Hsieh    時間: 2010-6-7 17:54

本帖最後由 Hsieh 於 2010-6-7 18:13 編輯

我的看法樓主似乎是想讓工作表另存成XLS檔案
新增一自訂表單,表單中設置一個清單方塊及一個按鈕
表單模組程式
  1. Private Sub CommandButton1_Click()
  2. Dim MyDate As String
  3. MyDate = ListBox1.Text
  4. ActiveSheet.Copy
  5. ActiveWorkbook.SaveAs "D:\" & ActiveSheet.[B2] & MyDate & ".xls"
  6. End Sub

  7. Private Sub UserForm_Initialize()
  8. With ActiveSheet
  9. For Each a In .Range(.[B3], .[B65536].End(xlUp))
  10.    ListBox1.AddItem a.Text
  11. Next
  12. End With
  13. End Sub
複製代碼
一般模組程式碼
  1. Sub OpenForm() '快速鍵Ctrl+m
  2. UserForm1.Show
  3. End Sub
複製代碼
如附件[attach]1169[/attach]
作者: gca78000    時間: 2010-6-7 18:32

回復 11# Hsieh


    謝謝大大指導附件我還無法下載
但依程式碼卻會出錯
作者: gca78000    時間: 2010-6-7 18:33

回復 12# gca78000


    MyDate = ListBox1.Text
作者: Hsieh    時間: 2010-6-7 18:36

回復 13# gca78000


    要點選LISTBOX1的日期後再按按鈕
作者: victorl    時間: 2010-6-7 22:33

回復 10# GBKEE


    感謝  GBKEE 版大指教, Object相關一直都是小弟我比較弱的塊,還希望  版大能不吝指正並提點,因為說實在的相關教材實在有限。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)