心得(2):如何利用VBA一键更改多个excel文件为指定的名称

问题:如何一键更改相同目录下的所有excel文件的名称,改为这个excel文件名内的每个单元格的内容,如我这个因为是要统计所有比赛队伍的信息,因为大部分人的excel文件名都不规范,这样如果有人想更新文件就得在文件夹里一个一个找很麻烦,就直接把每个队伍的文件命名为他的比赛项目名,这样在一定程度上就具有唯一性

解决:首先把所有要整合的excel文件放在一个路径不含有中文名的目录下,然后新建一个excel文件右键sheet点击查看代码,这时候你的画面上会出现一个编辑器,你这这上面利用VBA编写语言,最后点击F5直接运行即可

常规解决方案:
打开文件,复制项目名,关闭文件,重命名

利用VBA一键修改:

  1. 得到全是英文目录下的一个文件名
  2. 打开这个文件
  3. 得到这个文件对应的项目名
  4. 推出并关闭这个文件
  5. 重命名这个文件
  6. 因为这个项目名可能会出现很多windows的非法字符所以要利用replace函数出去一下

7. 而且还会出现许多不知名的错误,比如说重名,没写项目名等,这样就要使用的VBA的错误处理机制

源码如下:

Sub 批量改名()Dim mypath As String, myname As String, awbname As String, arg As StringDim wbcount As Integer, i As IntegerDim olds As String, news As String'关闭excel的刷新Application.ScreenUpdating = False'禁止弹出对话框Application.DisplayAlerts = False'得到本文件的相对地址mypath = ActiveWorkbook.Path'当前工作的excel的文件名awbname = ActiveWorkbook.Name'任意打开文件夹下的某一个文件wbcount = 0myname = Dir(mypath & "\" & "*.xlsx")'定义一个变量为项目的名称(文件中的命名)arg = ""'如果当前的文件名为空的字符串("")表示已经没有更多的文件了跳出循环Do While myname <> ""If myname <> awbname Then'打开当前的文件夹Set wb = Workbooks.Open(mypath & "\" & myname)'得到这个文件的项目名的名称arg = wb.Sheets(1).Range("B5")wbcount = wbcount + 1'关闭文件wb.Close False'除去arg中命名规则不允许的字符arg = Replace(arg, "\", "")arg = Replace(arg, " ", "")arg = Replace(arg, "/", "")arg = Replace(arg, "?", "")arg = Replace(arg, "<", "")arg = Replace(arg, ">", "")arg = Replace(arg, "'", "")arg = Replace(arg, ":", "")arg = Replace(arg, "*", "")arg = Replace(arg, """", "")arg = Replace(arg, ".", "")arg = Replace(arg, "|", "")arg = Replace(arg, Chr(10), "")arg = Replace(arg, Chr(32), "")olds = mypath & "\" & mynamenews = mypath & "\" & arg & ".xlsx"'将这个文件的名称换成这个项目名On Error GoTo MyErr '错误导向Name olds As newsEnd If'随机打开本文件夹的另一个文件myname = DirLoop'结束程序并且恢复之前的操作
MsgBox "一共更改了 " & wbcount & " 个文件"
Application.ScreenUpdating = True
Application.DisplayAlerts = True'因为这个VBA语言到最后会运行错误标志的内容所以在结束后要让他失效
olds = ""'错误标志
MyErr:If olds = "" ThenElsearg = arg & wbcountnews = mypath & "\" & arg & ".xlsx"Name olds As newsResume NextEnd IfEnd Sub

excel如何利用VBA一键更改所有文件的名称相关推荐

  1. 如何利用VBA批量更改Excel文件的内容

    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一 ...

  2. Win10重装系统后更改用户文件夹名称的方法

    一. 为什么要更改用户文件夹名称 最近笔记本电脑的Win10系统重装后,C:\Users文件夹下的用户文件夹名称默认是微软账户的前五位数字(如下图所示),而我们一般习惯用户名是带有意义的字母,所以很多 ...

  3. 怎样修改计算机用户文件名,win10修改用用户文件夹名字怎么操作_win10更改用户文件夹名称方法...

    每个电脑用户名都会放一个文件夹,这样我们才知道这些文件属于哪个用户的,不过有的用户可能想要修改用户文件夹名字,应该有许多用户不知道怎么修改,那么win10修改用用户文件夹名字怎么操作?下面我们就一起来 ...

  4. 电脑文件管理,教你一键将大量文件夹名称翻译成英文

    如何处理文件名称,比如将多个文件夹的名称翻译一下,中文转英语.英语转中文等等.今天小编给大家分享一个简单好用的处理技巧,下面一起来试试吧. 需要哪些工具? 文件夹素材 怎么快速处理? 步骤1:运行[文 ...

  5. 关于Excel下通过VBA实现工作簿文件下工作表的合并

    对于普通使用者而言,Excel是一个比较强大的数据处理工具.一般公司的普通职员常使用它来完成数据的录入分析,但是当面对处理经由多人按统一模板统计完成的录入数据分析时,数据将分散存放在多个.xlsx文件 ...

  6. php批量打印快递单,excel怎么利用vba实现批量套打快递单批量打印单据?

    excel vba 批量套打快递单,批量打印单据,可以自定义修改设置新的格式. 快递套打模板2015:点击下载 1.设置快递单的自定义纸张.选择对应打印机-点击打印服务器属性-勾选创建新表单-输入表单 ...

  7. 在EXCEL中通过VBA实现批量读取文件夹内的文件名称

    需求:有时候需要批量读取某个文件夹中的文件名称,有的程序只能读取同类型的,当文件为不同类型时就无法读取,因此需要写一个VBA程序,实现批量读取同一文件夹内的所有文件名称,且不需要修改程序就可以自由选择 ...

  8. 在Excel中利用VBA编写词组合,可用于起名或推广关键词

    1.打开Excel,按快捷键ALT+F11调出VBA编辑器,双击Sheet1,将以下代码拷贝,保存 Sub 两个词组合()   Dim a() As Variant, b As Integer, n ...

  9. Excel收纳箱:VBA一键删除当前工作表的条件格式

    如下图所示想删除表中多个区域的条件格式,如何完成操作呢? (方方格子插件) 1.选择diy工具箱操作 ​ 2.选择最左侧的收纳箱工具 3.弹出对话框我们选择一个本地新建的操作 4.弹出对话框我们输入如 ...

  10. Excel中利用vba将多个sheet合并在一个sheet中的方法

    vba代码如下: Sub 合并当前工作簿下的所有工作表()Application.ScreenUpdating = FalseFor j = 1 To Sheets.CountIf Sheets(j) ...

最新文章

  1. python实现二分查找(折半查找)算法
  2. 大型网站典型故障案例分析
  3. 【模拟】聊天服务器的外部流量
  4. 征文通知:第三届(2016)科学数据大会——科学数据与创新发展
  5. SpringBoot @CachePut注解的使用原理
  6. iOS开发之地图与定位
  7. oracle脚本转mpp脚本,范本:使用expdp/impdp克隆生成一个新数据库
  8. java 使用websocket_Java使用WebSocket
  9. 如何查看mysql的sql语句索引_mysql 查看sql语句索引情况 详解explain
  10. No package python27 available
  11. js根据银行卡号判断属于哪个银行,并返回银行缩写及银行卡类型--bin识别
  12. 4K TEST SEQUENCES 测试视频片段下载
  13. ubuntu安装openpose
  14. ROS机器人学习历程三:Publisher 和Subscriber
  15. NTP网络校时(北斗卫星授时设备)技术核心源码让网络时间同步不再难
  16. 用户体验报告——石墨文档
  17. 深圳一公司在开源社区表示“要源码上门自取”,引来百万粉大V突袭公司,结果让人意外!...
  18. Castor学习笔记(一)
  19. 什么叫方法签名 Java
  20. spring boot 设置默认主页

热门文章

  1. i.MX6ULL终结者MPU6050 六轴传感器例程MPU6050简介
  2. 2021起重机作业 (Q)模拟考试题库及软件
  3. 7-3 jmu-python-凯撒密码加密算法 (10分):编写一个凯撒密码加密程序,接收用户输入的文本和密钥k,对明文中的字母a-z和字母A-Z替换为其后第k个字母。
  4. Jenkins下载安装配置教程(官网)
  5. Java牛客项目课_仿牛客网讨论区_已经看完的部分
  6. 抖音广告怎么投放【抖音广告投放教程】
  7. wav格式怎么转换成flac?
  8. 电吉他效果器音频处理(1)——失真效果器、超载失真效果器、移相效果器、弗兰格效果器
  9. wegame每次登陆都要滑动验证_wegame登录验证码白屏
  10. JButton与Button的区别