標題:
[發問]
如何用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 編輯
Sub 匯出至月表()
Application.ScreenUpdating = False '匯出資料時不換視窗 (開頭)
Sheets("月表").Activate '指定匯出的目標工作表
Dim i As String
i = Sheets("月表").Range("A65536").End(xlUp).Row '計算有資料最後一列之列數
If Worksheets("月表").Cells(i, 1).Value >= Sheets("日表").Range("B1") Then MsgBox "早已存過資料!" '比對日期-->日期相同 --> 早已存過資料(訊息) --> 確定--> 結束
If Worksheets("月表").Cells(i, 1).Value < Sheets("日表").Range("B1") Then '比對日期--> 新日期 --> 進行資料匯出
Sheets("月表").Cells(i + 1, 1).Value = Sheets("日表").Range("B1") '日期匯出 -->"日表" B1 匯至 "月表" 最後一列 A
Sheets("月表").Range(Cells(i + 1, 2), Cells(i + 1, 7)) = Sheets("日表").Range("B5:G5").Value ' 第1區塊匯出-->"日表" B5:G5 匯至 "月表" 最後一列 B:G
Sheets("月表").Range(Cells(i + 1, 14), Cells(i + 1, 19)) = Sheets("日表").Range("B6:G6").Value ' 第2區塊匯出-->"日表" B6:G6 匯至 "月表" 最後一列 N:S
Sheets("月表").Range(Cells(i + 1, 26), Cells(i + 1, 31)) = Sheets("日表").Range("B7:G7").Value ' 第3區塊匯出-->"日表" B7:G7 匯至 "月表" 最後一列 Z:AE
Sheets("月表").Range(Cells(i + 1, 8), Cells(i + 1, 13)) = Sheets("日表").Range("B11:G11").Value ' 第4區塊匯出-->"日表" B11:G11 匯至 "月表" 最後一列 H:M
Sheets("月表").Range(Cells(i + 1, 20), Cells(i + 1, 25)) = Sheets("日表").Range("B12:G12").Value ' 第5區塊匯出-->"日表" B12:G12 匯至 "月表" 最後一列 T:Y
Sheets("月表").Range(Cells(i + 1, 32), Cells(i + 1, 37)) = Sheets("日表").Range("B13:G13").Value ' 第6區塊匯出-->"日表" B13:G13 匯至 "月表" 最後一列 AF:AK
ActiveWorkbook.Save '存檔
MsgBox "資料匯出存檔完成!" ' 匯出完成訊息
End If
'Application.ScreenUpdating = True '匯出資料時不換視窗 (結尾) -->使用這個函式 螢幕 會閃一下 !
Sheets("日表").Select '匯出資料時不換視窗 (結尾) -->改用這個函式 螢幕不會閃一下 !
End Sub
複製代碼
土法煉鋼,程式雖不精簡,功能到位了!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)