|
发表于 2011-11-14 14:17
|
显示全部楼层
本楼为最佳答案
本帖最后由 zjdh 于 2011-11-14 16:49 编辑
钻了牛角尖啦 已修改- Sub Macro1()
- Dim WK As Workbook, MyPath$, MyName$, NewNm$, Nm$, I%
- MyPath = ThisWorkbook.Path & "\需重命名工作簿" '请自己修改路径
- MyName = Dir(MyPath & "*.xls")
- Application.ScreenUpdating = False
- Do While MyName <> "" '先登记一下已有文件
- Nm = Nm & "|" & Left(MyName, Len(MyName) - 4)
- MyName = Dir
- Loop
- MyName = Dir(MyPath & "*.xls")
- Do While MyName <> ""
- Set WK = GetObject(MyPath & MyName)
- NewNm = WK.Sheets(1).[b3]
- NewNm2 = WK.Sheets(1).[b3]
- For I = 1 To 100 '预估最大101个同名
- If InStr(Nm, NewNm2) Then NewNm2 = NewNm & I
- Next
- Nm = Nm & "|" & NewNm2
- WK.Close False
- Name MyPath & MyName As MyPath & NewNm2 & ".xls"
- MyName = Dir
- Loop
- Application.ScreenUpdating = True
- MsgBox "修改完毕"
- End Sub
复制代码 |
|