You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可按输入姓名返回其所在所有Excel工作表的Formula或VBA方案

实现Excel按姓名查找有权限的所有应用(工作表)方案

我懂你的需求啦——输入一个姓名,Excel就能自动列出这个用户有权限访问的所有应用(也就是包含该姓名的工作表)。之前找公式没碰到合适的?没关系,我给你准备了两种现成的方案,不管是用公式还是VBA,你直接拿来用就行:

方案一:Excel公式实现(无需代码)

这个方案适合不想接触VBA的情况,假设你把目标姓名输入在单元格A1,可以在另一个单元格(比如B1)粘贴下面的公式:

=TEXTJOIN(", ", TRUE, IF(ISNUMBER(MATCH(A1, INDIRECT("'"&SheetNames&"'!A:A"), 0)), SheetNames, ""))

前置步骤:定义「SheetNames」名称

要让公式生效,得先给所有工作表名创建一个自定义名称:

  • 按下Ctrl+F3打开「名称管理器」,点击「新建」
  • 名称栏填SheetNames,引用位置输入:=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
  • 点击「确定」保存

公式使用说明:

  • 如果你的Excel是365/2021版本,输入公式后直接回车即可;如果是更早版本,需要按Ctrl+Shift+Enter触发数组公式
  • 公式里的A:A是假设每个工作表的用户名单存放在A列,你可以改成实际的列(比如C:C)
  • 记得开启「迭代计算」:点击「文件>选项>公式」,勾选「启用迭代计算」,因为用到的GET.WORKBOOK是易失性函数,需要迭代更新

方案二:VBA自定义函数(更稳定灵活)

如果公式的限制让你觉得麻烦,VBA方案会更可靠,还能自定义查找范围。步骤超简单:

  1. 打开你的Excel文件,按下Alt+F11打开VBA编辑器
  2. 在左侧「工程资源管理器」里右键点击你的工作簿,选择「插入>模块」
  3. 在弹出的代码窗口粘贴以下代码:
Function GetUserApps(targetName As String) As String
    Dim ws As Worksheet
    Dim result As String
    Dim foundRange As Range
    
    '遍历工作簿中所有工作表
    For Each ws In ThisWorkbook.Worksheets
        '在当前工作表的A列精确查找目标姓名(可修改为实际用户列,比如"B2:B1000")
        Set foundRange = ws.Range("A:A").Find(What:=targetName, LookIn:=xlValues, LookAt:=xlWhole)
        If Not foundRange Is Nothing Then
            '找到后拼接工作表名(应用名)
            If result = "" Then
                result = ws.Name
            Else
                result = result & ", " & ws.Name
            End If
        End If
    Next ws
    
    '返回结果,未找到时提示
    GetUserApps = IIf(result = "", "无权限应用", result)
End Function
  1. 关闭VBA编辑器,回到Excel工作表,在任意单元格输入=GetUserApps(A1)(把A1换成你输入姓名的单元格),回车就能得到结果!

VBA代码说明:

  • 代码会遍历所有工作表,精确匹配目标姓名(避免部分匹配的错误)
  • 你可以把ws.Range("A:A")改成实际存放用户名单的范围(比如ws.Range("B2:B500")),这样查找效率更高
  • 如果没有找到匹配的姓名,会返回「无权限应用」,清晰直观

两种方案都能直接用,VBA方案在工作表数量多的时候更稳定。如果用公式,记得确认你的Excel版本支持TEXTJOIN(2019及以后或365)。

内容的提问来源于stack exchange,提问作者user5947860

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:56:22