网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月19日漏签0天
excel吧 关注:281,355贴子:1,550,520
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 14回复贴,共1页
<<返回excel吧
>0< 加载中...

如何在硬盘中查找其中一个单元格中的一个人名

  • 只看楼主
  • 收藏

  • 回复
  • 复习班8
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
公司有一个硬盘,现在要查找其中一个人的名字,上千个文件夹,一个一个找太。。。。
所以有没有快捷的办法,求大神指点


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
浏览所有文件包括子目录下的文件名到数组,然后做个循环分别打开文件并取名字就可以了。


2025-07-19 23:35:10
广告
  • 秦時明月漢時圓
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我看你们公司还是请人开发一个档案管理系统


  • 复习班8
  • E知半解
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一个文件还包括sheet1,sheet2,关键好多文件,这是公司10年前的账了,当时命名很乱,现在要调出一个人的账,上千个文件夹咋找,领导要求没办法


  • 比鲁斯
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ctrl +f 查找,输入人名查找


  • pepe3399
  • 多才多E
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
用vba编个程序可以实现。需要加我q:3030490161


  • 郁闷后遺症
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有个软件叫everything,很好用


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Option Explicit
Const defaultname = "赵日天"
Sub test()
  Dim path, fso, filenames(), n As Long
  On Error GoTo Errmsg
  path = "d:\abc": MsgBox "在弹出窗口之前不要再次运行此过程!"
  path = IIf(Right(path, 1) = "\", Left(path, Len(path) - 1), path)
  If Dir(path, vbDirectory) = vbNullString Then MsgBox "未发现指定文件夹:" & path: Exit Sub
  Set fso = CreateObject("Scripting.FileSystemObject")
  getsubfolderfils fso, path, filenames, n
  If n > 0 Then
   n = 0
   If findnameinsheets(filenames, n) Then
    [a:a].ClearContents
    [a1].Resize(n, 1) = WorksheetFunction.Transpose(filenames): MsgBox "ok!"
   Else
    MsgBox "未在excel文档中找到指定名字:" & defaultname & vbNewLine & "或处理文件时发生错误!"
   End If
  Else
   MsgBox "指定文件夹下未发现excel文件!"
  End If
Exit Sub
Errmsg:
 MsgBox "创建对象失败:Scripting.FileSystemObject"
End Sub
Function getsubfolderfils(fso, path, filenames, n)
  Dim p, f, s
  On Error GoTo Errmsg
  For Each f In fso.GetFolder(path).Files
    s = path & "\" & f.Name
    If LCase(Right(s, 5)) = ".xlsx" Or LCase(Right(s, 4)) = ".xls" Then
     n = n + 1: ReDim Preserve filenames(1 To n)
     filenames(n) = s
    End If
  Next
  For Each p In fso.GetFolder(path).subfolders
    getsubfolderfils fso, path & "\" & p.Name, filenames, n
  Next
Exit Function
Errmsg:
 n = 0: MsgBox "读取文件名错误或当前用户权限不够!"
End Function
Function findnameinsheets(filenames, n) As Boolean
 Dim i, xlsWorkbook, xlsapp, sht, rng, flag As Boolean
 On Error GoTo Errmsg
 Set xlsapp = CreateObject("Excel.Application")
 For i = 1 To UBound(filenames)
  Set xlsWorkbook = xlsapp.Workbooks.Open(filenames(i))
  xlsapp.Visible = False
   For Each sht In xlsapp.Sheets
    For Each rng In sht.UsedRange
     If rng.Value = defaultname Then
      n = n + 1: filenames(n) = filenames(i) & Space(4) & sht.Name & Space(4) & rng.Address
      flag = True: Exit For
     End If
     DoEvents
    Next
    If flag Then flag = False: Exit For
   Next
   DoEvents: xlsWorkbook.Close False
 Next
 xlsapp.Visible = True: Set xlsWorkbook = Nothing: Set xlsapp = Nothing
 If n > 0 Then findnameinsheets = True
Exit Function
Errmsg:
 MsgBox "创建excel对象失败" & vbNewLine & "或当前文件已打开或文件已损坏:" & filenames(i)
 xlsapp.Visible = True: Set xlsWorkbook = Nothing: Set xlsapp = Nothing
End Function


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示