tft每日頭條

 > 生活

 > 自動生成全月排班表

自動生成全月排班表

生活 更新时间:2024-11-29 17:26:38

某學員要制作一份全自動的排版表,本來勸他半手工處理,因為這種需要用VBA。不過,他覺得自己努力學也可以學會,那就來吧。

自動生成全月排班表(排班表全自動的比公式複雜100倍)1

排班表

自動生成全月排班表(排班表全自動的比公式複雜100倍)2

自動生成全月排班表(排班表全自動的比公式複雜100倍)3

模闆,将模闆的内容批量生成一周的表格,比如星期三,表頭就引用排班表第一行的所有數據。

自動生成全月排班表(排班表全自動的比公式複雜100倍)4

來看看VBA運行後效果。

自動生成全月排班表(排班表全自動的比公式複雜100倍)5

原來排班表的内容分散到好多列,不方便引用,H列采用一個輔助列将内容合并起來。日期在合并的時候會變成數字,嵌套TEXT轉換成日期格式。每天有好幾個記錄人,用TEXTJOIN合并起來并用、隔開。

=TEXT(A2,"e年m月d日 ")&B2&" 班級紀律檢查情況記錄 記錄人:"&TEXTJOIN("、",1,C2:G2)

自動生成全月排班表(排班表全自動的比公式複雜100倍)6

開發工具,VB,插入模闆,輸入代碼。

自動生成全月排班表(排班表全自動的比公式複雜100倍)7

Sub 排班()

Application.ScreenUpdating = False

Application.DisplayAlerts = False

'将多餘的工作表删除

For X = Sheets.Count To 3 Step -1

Sheets(X).Delete

Next

With Sheets("排班表")

For X = 2 To .Cells(Rows.Count, 1).End(3).Row

'相當于移動或複制模闆這個工作表到最後,并建立副本

Sheets("模闆").Copy After:=Sheets(Sheets.Count)

财務工作中,你是否遇到焦頭爛額不知如何解決的問題呢?

'激活的工作表名稱根據排班表的B列命名

ActiveSheet.Name = .Cells(X, 2)

'激活的工作表A1根據排班表的H列引用數據

[A1] = .Cells(X, 8)

Next

.Select

End With

Application.DisplayAlerts = True

Application.ScreenUpdating = True

End Sub

最後,使用VBA的,都需要啟用所有宏。

自動生成全月排班表(排班表全自動的比公式複雜100倍)8

VBA除了難,沒啥缺點。

來源:Excel不加班

自動生成全月排班表(排班表全自動的比公式複雜100倍)9

通知獲取

1、下方評論區:領取,并轉發收藏;

2、然後點擊小編頭像,找到私信功能、私我回複:【學習】,即可免費領取

自動生成全月排班表(排班表全自動的比公式複雜100倍)10

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved