某學員要制作一份全自動的排版表,本來勸他半手工處理,因為這種需要用VBA。不過,他覺得自己努力學也可以學會,那就來吧。
排班表
模闆,将模闆的内容批量生成一周的表格,比如星期三,表頭就引用排班表第一行的所有數據。
來看看VBA運行後效果。
原來排班表的内容分散到好多列,不方便引用,H列采用一個輔助列将内容合并起來。日期在合并的時候會變成數字,嵌套TEXT轉換成日期格式。每天有好幾個記錄人,用TEXTJOIN合并起來并用、隔開。
=TEXT(A2,"e年m月d日 ")&B2&" 班級紀律檢查情況記錄 記錄人:"&TEXTJOIN("、",1,C2:G2)
開發工具,VB,插入模闆,輸入代碼。
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的,都需要啟用所有宏。
VBA除了難,沒啥缺點。
來源:Excel不加班
通知獲取
1、下方評論區:領取,并轉發收藏;
2、然後點擊小編頭像,找到私信功能、私我回複:【學習】,即可免費領取
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!