返回列表 上一主題 發帖

[發問] 如何單獨把excel單一sheet做輸出

[發問] 如何單獨把excel單一sheet做輸出

本帖最後由 atuan207 於 2011-4-30 15:33 編輯

又有問題想請教各位板上的大大了
就像上次問的,我在sheet2、sheet3建立了一個資料庫
把資料比對後送回sheet1
sheet1最後成為要的輸出的內容
所以現在我想要單獨把sheet1做輸出另存該怎麼做
目前我找到的方式如下:

Sub output()
Application.DisplayAlerts = False
   Sheets("sheet1").UsedRange.Value = Sheets("sheet1").UsedRange.Value

   ActiveWorkbook.SaveAs Filename:="C:\Users" &  Replace(ActiveWorkbook.Name, "xlsm", "xlsx"),  FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = ture
End Sub

但這依然會把sheet2、sheet3的資料一起另存
想請問一下大大該如何做比較好???

你指定儲存活頁簿,當然儲存的就是整個活頁簿
指定儲存單獨工作表像這樣:
Sheets("Sheet1").Copy
ActiveWorkbook.SaveAs "D:\abc.xls"
後面可再延伸是否把儲存好的新活頁簿關閉

TOP

本帖最後由 atuan207 於 2011-5-1 22:40 編輯

感謝chin15大大的指導

確實之前範圍設定的太大了
目前是改成這樣
Sheets("Datamap").Copy
    ActiveWorkbook.SaveAs Filename:="D:\aaa.xls", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close

可以執行
感恩

TOP

想再請問一下,因為我的原始excel檔是2007的
可是另存檔副檔名我想用2003的.xls
(我知道在正常存檔時按另存新檔裡面有個97-2003活頁簿)
(而我只要單獨excel報表中的sheet1,所以我做了一個按鈕做單獨的另存)

另存的檔案在開啟時都會出現"格式不符,請確認檔案是否損毀..."的字樣
但是按了"是"點選項開啟又是正常的

這樣有什麼辦法可以解決呢????

TOP

回復 4# atuan207
要單獨excel報表中的sheet1,所以我做了一個按鈕做單獨的另存
可否看看按鈕這段程式碼!

TOP

回復 5# GBKEE
好的,
我是做在button上
程式碼如下
  1. Private Sub CoB另存_Click()
  2.     Sheets("Sheet1").Copy
  3.     ActiveWorkbook.SaveAs Filename:="D:\表單.xls", FileFormat:= _
  4.         xlOpenXMLWorkbook, CreateBackup:=False
  5.     ActiveWorkbook.Close
  6. End Sub
複製代碼

TOP

回復 6# atuan207
我沒有 2007 猜想是, FileFormat:=xlOpenXMLWorkbook  是存為 2007檔案的參數, 與副檔名" xls" 是2003 起衝突.
不要用FileFormat參數應可行.
  1. Private Sub CoB另存_Click()
  2.     Sheets(1).Copy   
  3.     ActiveWorkbook.SaveAs Filename:="D:\表單.xls"  
  4.     ActiveWorkbook.Close
  5. End Sub
複製代碼

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題