EXCEL 自动新建sheet
答案:4 悬赏:20
解决时间 2021-02-11 22:39
- 提问者网友:萌萌小主
- 2021-02-11 18:17
EXCEL 自动新建sheet
最佳答案
- 二级知识专家网友:绝望伪装
- 2021-02-11 19:37
用VBA帮你写了一个,直接执行run_ontime即可,执行后,要到下一个00:00:00开始自动创建,之后每隔24小时自动创建一次,具体代码如下:
'执行这个sub
Sub run_ontime()
'到了00:00:00开始自动创建sheet
Application.OnTime TimeValue("00:00:00"), "AutoCreate"
End Sub
Sub CallTimer()
'24小时后再次创建
Application.OnTime Now + TimeValue("23:59:59") + TimeValue("00:00:01"), "AutoCreate"
End Sub
Sub AutoCreate()
Dim sheetname As String
'sheet名为当前日期
'sheetname = Date
sheetname = Trim(Str(month(Date))) + "-" + Trim(Str(day(Date)))
'如果sheet不存在则创建
If SheetExist(sheetname) = 0 Then
Sheets.Add.Name = sheetname
End If
'唤醒定时器
Call CallTimer
End Sub
'遍历法检查sheet是否已经存在
Function SheetExist(strSheetName As String) As Integer
Dim i As Integer
Dim nNumOfSheets As Integer
nNumOfSheets = Worksheets.Count
For i = 1 To nNumOfSheets
If Worksheets(i).Name = strSheetName Then Exit For
Next
SheetExist = i Mod (1 + nNumOfSheets)
End Function
以上代码是在excel2007下写的,个人认为在office2003下应该也可以执行,没试过,哈哈。
改改sheetname就可以了
sheetname = Trim(Str(month(Date))) + "-" + Trim(Str(day(Date)))
再有问题可以直接hi我。
'执行这个sub
Sub run_ontime()
'到了00:00:00开始自动创建sheet
Application.OnTime TimeValue("00:00:00"), "AutoCreate"
End Sub
Sub CallTimer()
'24小时后再次创建
Application.OnTime Now + TimeValue("23:59:59") + TimeValue("00:00:01"), "AutoCreate"
End Sub
Sub AutoCreate()
Dim sheetname As String
'sheet名为当前日期
'sheetname = Date
sheetname = Trim(Str(month(Date))) + "-" + Trim(Str(day(Date)))
'如果sheet不存在则创建
If SheetExist(sheetname) = 0 Then
Sheets.Add.Name = sheetname
End If
'唤醒定时器
Call CallTimer
End Sub
'遍历法检查sheet是否已经存在
Function SheetExist(strSheetName As String) As Integer
Dim i As Integer
Dim nNumOfSheets As Integer
nNumOfSheets = Worksheets.Count
For i = 1 To nNumOfSheets
If Worksheets(i).Name = strSheetName Then Exit For
Next
SheetExist = i Mod (1 + nNumOfSheets)
End Function
以上代码是在excel2007下写的,个人认为在office2003下应该也可以执行,没试过,哈哈。
改改sheetname就可以了
sheetname = Trim(Str(month(Date))) + "-" + Trim(Str(day(Date)))
再有问题可以直接hi我。
全部回答
- 1楼网友:社会水太深
- 2021-02-11 22:55
vba
不过我不会
- 2楼网友:初心未变
- 2021-02-11 21:41
EXCEL没那么智能,建议你改学SQL之类,编程才能做到完美
- 3楼网友:嗷呜我不好爱
- 2021-02-11 20:50
或者点一个现成的sheet.按着ctrl不放往旁边拖一下也是新建的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯