Board logo

標題: [發問] 如何用VBA把每日報表匯成月報表並存檔 [打印本頁]

作者: ABK    時間: 2016-6-13 17:47     標題: 如何用VBA把每日報表匯成月報表並存檔

本帖最後由 ABK 於 2016-6-13 17:49 編輯

[attach]24477[/attach][attach]24479[/attach]

[attach]24480[/attach]

請教如果我想將附檔中的"日表"中的紀錄 每日匯入到"月表" 中一列一列依序紀錄 並自動存檔,VBA要如何寫?
作者: ABK    時間: 2016-6-18 00:51     標題: RE: 如何用VBA把每日報表匯成月報表並存檔

本帖最後由 ABK 於 2016-6-18 00:53 編輯
  1. Sub 匯出至月表()

  2.     Application.ScreenUpdating = False  '匯出資料時不換視窗 (開頭)

  3.     Sheets("月表").Activate  '指定匯出的目標工作表


  4. Dim i As String
  5.    

  6.    
  7.    i = Sheets("月表").Range("A65536").End(xlUp).Row  '計算有資料最後一列之列數


  8.       If Worksheets("月表").Cells(i, 1).Value >= Sheets("日表").Range("B1") Then MsgBox "早已存過資料!"   '比對日期-->日期相同 --> 早已存過資料(訊息) --> 確定--> 結束
  9.       


  10.       If Worksheets("月表").Cells(i, 1).Value < Sheets("日表").Range("B1") Then                           '比對日期--> 新日期 --> 進行資料匯出
  11.   
  12.            Sheets("月表").Cells(i + 1, 1).Value = Sheets("日表").Range("B1")                                      '日期匯出    -->"日表" B1 匯至 "月表" 最後一列 A
  13.         
  14.            Sheets("月表").Range(Cells(i + 1, 2), Cells(i + 1, 7)) = Sheets("日表").Range("B5:G5").Value           ' 第1區塊匯出-->"日表" B5:G5 匯至 "月表" 最後一列 B:G
  15.         
  16.            Sheets("月表").Range(Cells(i + 1, 14), Cells(i + 1, 19)) = Sheets("日表").Range("B6:G6").Value         ' 第2區塊匯出-->"日表" B6:G6 匯至 "月表" 最後一列 N:S
  17.         
  18.            Sheets("月表").Range(Cells(i + 1, 26), Cells(i + 1, 31)) = Sheets("日表").Range("B7:G7").Value         ' 第3區塊匯出-->"日表" B7:G7 匯至 "月表" 最後一列 Z:AE
  19.          
  20.            Sheets("月表").Range(Cells(i + 1, 8), Cells(i + 1, 13)) = Sheets("日表").Range("B11:G11").Value        ' 第4區塊匯出-->"日表" B11:G11 匯至 "月表" 最後一列 H:M
  21.         
  22.            Sheets("月表").Range(Cells(i + 1, 20), Cells(i + 1, 25)) = Sheets("日表").Range("B12:G12").Value       ' 第5區塊匯出-->"日表" B12:G12 匯至 "月表" 最後一列 T:Y
  23.         
  24.            Sheets("月表").Range(Cells(i + 1, 32), Cells(i + 1, 37)) = Sheets("日表").Range("B13:G13").Value       ' 第6區塊匯出-->"日表" B13:G13 匯至 "月表" 最後一列 AF:AK

  25. ActiveWorkbook.Save  '存檔


  26. MsgBox "資料匯出存檔完成!"    ' 匯出完成訊息


  27.         End If
  28.         
  29.        'Application.ScreenUpdating = True  '匯出資料時不換視窗 (結尾) -->使用這個函式 螢幕  會閃一下 !
  30.    Sheets("日表").Select                   '匯出資料時不換視窗 (結尾) -->改用這個函式 螢幕不會閃一下 !
  31.    
  32. End Sub
複製代碼
土法煉鋼,程式雖不精簡,功能到位了!




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