ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 309|回复: 1

[求助] 这代码功能是正常的,但又缺陷,哪位老师帮忙修改一下

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-4 17:48 | 显示全部楼层 |阅读模式
这代码功能是正常的,但又缺陷,哪位老师帮忙修改一下
缺陷是:当文件夹为空的时候,会提示出错.

Sub 宏14()
'
' 宏14 宏
'
     Range("az19:ba981").Select
    Selection.ClearContents
    Range("a3").Select
    Dim m, FD, FF, MyPath$, mh, arr() As String, FSO As Object, reg As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    MyPath = "D:\分析进行中\h1\"
    Set FD = FSO.getfolder(MyPath)
    Set FF = FD.Files 'ok文件加下文件
    m = FF.Count  'ok文件加下文件数量
    ReDim arr(1 To m, 1 To 2)
    '提取需要的内容
    Set reg = CreateObject("VBScript.RegExp")
    reg.Global = True
    reg.Pattern = "([0-9]+)-([0-9]+)"
    For Each f In FF
        If reg.test(f) Then
          i = i + 1
          Set mh = reg.Execute(f)
          arr(i, 1) = mh(0).submatches(0)
          arr(i, 2) = mh(0).submatches(1)
        End If
    Next
    Set reg = Nothing
    Set FSO = Nothing
    Set FF = Nothing
    Set FD = Nothing
    Sheet1.Range("az19").Resize(UBound(arr), UBound(arr, 2)) = arr
    Range("az19:ba981").Select
    With Selection.Font
        .Color = -16776961
        .TintAndShade = 0
    Range("a3").Select '鼠标停放
    End With
'
End Sub

TA的精华主题

TA的得分主题

发表于 2023-4-4 22:49 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 22:17 , Processed in 0.029879 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表