exce2003l表里面 从sheet1开始 批量把后面的表格依次改名为日期 比如 2.1 2.2 2.3……2.28 要怎么改啊

如题所述

这是前段时间写得一个批量改工作表名的代码,你可以试一下。新建一个模块,把代码粘贴在里面。在工作表建个命令按钮,指定该宏就可以试用啦。
Sub 批量改名()
Dim i As Integer, day1, mon As String, ss As Integer, s As String, uu
Dim sh As Worksheet, arr(), x As Integer, k, pp As Integer, vv As Integer
Dim d As Object

Dim Msg, Style, Title, Response
Msg = "按日期命名工作表吗?" ' 定义信息。
Style = vbYesNoCancel ' 定义按钮。
Title = "MsgBox 提示:" ' 定义标题。
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' 用户按下“是”。
mon = Month(Date)
day1 = WorksheetFunction.EOMONTH(Day(Now()), 0)
ReDim arr(1 To day1)
For ss = 1 To day1
arr(ss) = ss
Next
GoTo 100
ElseIf Response = vbCancel Then ' 用户按下“取消”。
Exit Sub
Else
mon = InputBox("请输入工作表名,系统会自动添加序号", "提示!!!")
If mon <> 0 And mon <> "" Then
day1 = Worksheets.Count
End If
100:
s = InputBox("请输入要保留的表名,如全部改名,请输入0", "提示!!!")
If s = "" Or s = "0" Then
MsgBox "除工具表外,其他表全部改名!"
i = 1
For Each sh In ThisWorkbook.Sheets
If sh.Name <> Trim(s) Or sh.Name <> "工具表" Then sh.Name = mon & "." & arr(i): i = i + 1
Next
Else
Set d = CreateObject("scripting.dictionary")
d.CompareMode = 1
i = 1
For Each sh In Worksheets
If sh.Name <> "工具表" Then
d(sh.Name) = ""
i = i + 1
End If
Next
uu = Split(Replace(s, ",", ",", 1), ",")
For x = 0 To UBound(uu)
If d.Exists(uu(x)) Then
d.Remove (uu(x))
End If
Next
k = d.keys
Application.DisplayAlerts = False
Application.DisplayAlerts = False
pp = UBound(arr)
If pp <> Null Then
For vv = 0 To UBound(k)
Sheets(k(vv)).Name = mon & "." & arr(vv + 1)
Next
Else
For vv = 0 To UBound(k)
Sheets(k(vv)).Name = mon & vv + 1
Next
End If
Application.DisplayAlerts = True
Application.DisplayAlerts = True
End If
End If
End Sub

欢迎到Excel Home论坛学习、交流”,谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2020-12-24
这只能用VBA了,简单点的话,可以找个表写好你要改名的内容,比如sheet1的A列写好(可以用month(),day()等公式自动获取,下拉来递增)
接着在VBA里
Sub num()
Dim i,j
For i = 1 To Sheets.Count
For j = 1 to 200 (假设你有200个日期)
Sheets(i).Name = sheets("sheet1").cells(1,j)
Next i
next j
End Sub本回答被提问者采纳
第2个回答  2011-12-31
你要双击sheet1才能更改。
第3个回答  2011-12-31
具体的说啦我也不知道,我只知道2.1.1下拉是可以变后面数字的。但是歪办法我还是有的
先输入1.2-单击右键-设置单元格式-自定义选择m-d-y改成m.d确定即可。。。。
第4个回答  2011-12-31
等待楼下的回答
相似回答