返回列表 上一主題 發帖

[發問] 以A2儲存格為檔名,做成小計報表

本帖最後由 stillfish00 於 2013-4-26 20:52 編輯

6不太懂 , 你試看看還有什麼問題
  1. Sub paper2()
  2.     Workbooks(ThisWorkbook.Sheets("VBA").[A2].Value).Sheets("報表").Range("D:K").Copy   '複製D欄到K欄
  3.    
  4.     With Workbooks.Add  '新增一空白活頁簿
  5.         With .Sheets(1)
  6.             .Name = "報表"
  7.             .[A1].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False  '貼上值
  8.             .[A1].PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False  '貼上來源格式
  9.             
  10.             '小計
  11.             .[A2].Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(7, 8), _
  12.                     Replace:=True, PageBreaks:=False, SummaryBelowData:=True
  13.             
  14.             .[A:A].Delete Shift:=xlToLeft       '小計後刪除A欄
  15.             .Outline.ShowLevels RowLevels:=2    '小計後選#2
  16.         End With
  17.         .SaveAs "D:\抽水機數據分析報表\抽水機數據分析_值.xlsx"  '儲存檔案
  18.         .Close
  19.     End With
  20.    
  21.     '關閉檔案
  22.     Workbooks(ThisWorkbook.Sheets("VBA").[A2].Value).Close False
  23.     ThisWorkbook.Close False
  24. End Sub
複製代碼
回復 1# PJChen

TOP

  1. Sub paper2()
  2.     With Workbooks(ThisWorkbook.Sheets("VBA").[A2].Value).Sheets("報表")
  3.         .UsedRange.Value = .UsedRange.Value    '改為值
  4.         .Range("A:C").Delete Shift:=xlToLeft   '刪除A:C
  5.         
  6.         '小計
  7.         .[A2].Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(7, 8), _
  8.                 Replace:=True, PageBreaks:=False, SummaryBelowData:=True
  9.         .[A:A].Delete Shift:=xlToLeft       '小計後刪除A欄
  10.         .Outline.ShowLevels RowLevels:=2    '小計後選#2
  11.         .SaveAs "D:\抽水機數據分析報表\抽水機數據分析_值.xlsx"  '儲存檔案
  12.         .Parent.Close False
  13.     End With
  14.    
  15.     '關閉報表程式
  16.     ThisWorkbook.Close False
  17. End Sub
複製代碼
回復 3# PJChen

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題