點擊藍字關注我們


01??統一考勤模板,每個人按統一模板填報自己當月考勤。


02??按考勤號和姓名統一文件名。


04??新建考勤匯總Excel文件,另存Excel啟用宏的xlsm格式,存于考勤文件夾下。




05??打開考勤匯總表,設計好表頭后,進入設計模式,插入命令按鈕(ActiveX控件),并修改命令按鈕名稱。


06??雙擊命令按鈕(匯總表),進去VBA編輯模式,并輸入代碼。



Private?Sub?CommandButton1_Click()
????Dim?MyPath,?MyName,?AWbName
????Dim?Wb?As?Workbook,?WbN?As?String
????Dim?i?As?Long
????Dim?Num?As?Long
????Dim?BOX?As?String
????Application.ScreenUpdating?=?False?'關閉屏幕更新
????MyPath?=?ActiveWorkbook.Path?'獲取當前工作簿的文件位置
????MyName?=?Dir(MyPath?&?"\"?&?"*.xls")?'獲取文件夾下的所有以“.xls”結尾的文件,根據實際情況可改成“.xlsx”
????AWbName?=?ActiveWorkbook.Name?'獲取當前工作簿的名稱
????Num?=?0
????Do?While?MyName?<>?""
????????If?MyName?<>?AWbName?Then
????????????Set?Wb?=?Workbooks.Open(MyPath?&?"\"?&?MyName)
????????????????Num?=?Num?+?1
????????????For?i?=?1?To?Wb.Sheets.Count?'寫入Excel文件內容
????????????????Wb.Sheets(i).UsedRange.Copy?Range("A65536").End(xlUp).Offset(2,?0)
????????????Next
????????????????WbN?=?WbN?&?Chr(13)?&?Wb.Name
????????????????Wb.Close?False
????????End?If
????????MyName?=?Dir
????Loop
????Range("A1").Select
????Application.ScreenUpdating?=?True?'恢復屏幕更新
????MsgBox?"共合并了"?&?Num?&?"個工作簿。如下:"?&?Chr(13)?&?WbN,?vbInformation,?"提示"
? ? ? ? ?End?Sub

07 ?退出設計模式,單擊命令按鈕(匯總表)。


作者:海航
排版:曾鈺


金鷹電力
微信號:jinyingdianli
▇?掃碼關注我們