ExcelVBA遍历代码(批量替换、批量取消合并单元格、批量处理字段顺序等)

查看 176|回复 10
作者:lizhipei78   
本人学习Excel VBA有一段时间了,经常会使用到遍历的代码,遍历的代码有好几种,我一般用到以下这个简单的
Sub 批处理()
    Dim strFile, Wb As Workbook, i%, j%, Wjlx As String
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    strPath = ThisWorkbook.Path & "\"
    Wjlx = "Excel文件,*.xls*"
    strFile = Application.GetOpenFilename(FileFilter:=Wjlx, Title:="打开文件", MultiSelect:=True)
    If Not IsArray(strFile) Then MsgBox "没有选择文件": GoTo 300
    For i = 1 To UBound(strFile)
        Set Wb = Workbooks.Open(strFile(i))
        For Each sht In Wb.Worksheets '遍历工作表
            sht.Activate
            sht.UsedRange.Value = sht.UsedRange.Value '这里开始写你要做的事情的代码
        Next
        Wb.Close savechanges:=True '保存关闭工作簿
    Next
    MsgBox "完成"
300
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
其实真的挺简单的,只要会一点代码知识的同学都能写出批量处理的代码来。
下面我分享一下本人觉得比较实用的代码给大家,分别是批量替换内容、批量取消合并单元格、批量处理字段顺序,如果有需要批量处理其它可以自行参照写,或者给我消息
[i]
链接: https://pan.baidu.com/s/1x8fwTxcuN7Du1Odzl8Dmqg?pwd=m6fr
提取码: m6fr

批量, 遍历

lizhipei78
OP
  

topzhp 发表于 2023-2-15 09:32
有没有根据某列来批量提取相应的内容的?

根据关键字批量提取,或者根据关键字在原表中删除所在行,或者根据关键字在原表中保留删除其它字段所在行
这个代码是根据关键字模糊匹配的,如输入关键字小米,可在文本我爱小米,小米同学,老同学用的是小米手机等包括小米所有的字段,在日常中可能会比较容易用到
经测试3万行数据,大概是0.4秒左右
如果要全字段匹配的也可以写代码
链接: https://pan.baidu.com/s/1gXUfEElM4hRtLAHqQKo8HQ?pwd=bftd
提取码: bftd
lizhipei78
OP
  

想飞的企鹅 发表于 2023-2-15 08:47
楼主是自学的么,有没有推荐的书籍,小白一枚,看了excelhome的书,感觉好多地方还是不明白

完全自学的
建议不要看书
直接论坛看精华,看几个帖子把里面的基础知识弄懂了,比看书强一百倍
ytslg157   
感谢,收藏备用
Pony21   
谢谢分享
潋天堂   
学习学习
无奈的我0000   
原来如此,感谢!
想飞的企鹅   
楼主是自学的么,有没有推荐的书籍,小白一枚,看了excelhome的书,感觉好多地方还是不明白
aaronsg   
感谢楼主分享
hlq0514   
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部