今天在建9月的日报表,用VBA自然可以一键生成,但是突然忘了要更改月份和日期,都变成了8月的,如果要把工作表一个一个删除,工作量很大,显然不行。还有到了下个月,又要建新的一个月的表格,总不能把每次都新建一个表格,然后再把代码拷过来吧。另外,数据整理的工作表也应该整合在月度报表中的。
所以,每次应该是保留“模板”和“数据整理”这两个工作表,其它多余的工作表先删除,然后再按日期分别建一个新的工作表,然后再把“模板”的内容复制到每个日期的工作表中。下个月开始的时候只要改一下月份和日期个数就行了。这才是比较合理的。
具体代码如下:
Sub 日开奖明细()
Excel.Application.ScreenUpdating = False
Excel.Application.Calculation = xlCalculationManual
Excel.Application.DisplayAlerts = False
Dim oWK As Worksheet
Dim oWB As Workbook
Set oWB = Excel.ThisWorkbook
For Each oWK In oWB.Worksheets
If oWK.Name Like "模板" Then
ElseIf oWK.Name Like "数据整理" Then
Else
oWK.Delete
End If
Next
Excel.Application.ScreenUpdating = True
Excel.Application.Calculation = xlCalculationAutomatic
Excel.Application.DisplayAlerts = True
Dim i
For i = 1 To 30
Sheets("模板").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "9月" & i & "日"
Next
End Sub
完成后效果如下:
如果你有更好的方法,欢迎留言。欢迎转发收藏。
如果觉得我的文章好,可以给我赞赏。
请关注,未来更精彩!
联系客服