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

如何基于用户信息在Excel中自动填充员工姓名及工号

Excel自动填充员工姓名及关联EID方案

核心实现逻辑

借助VBA宏在文件打开时自动读取当前用户信息,匹配员工姓名后填充到指定单元格,再通过你已设置的VLOOKUP公式自动关联EID,提升操作效率。


  • 前提准备
    确保你已完成:

    1. 建立包含员工姓名和EID的对照表(示例放在Sheet2,A列存姓名,B列存EID)
    2. 目标单元格(如Sheet1的B列)已设置VLOOKUP公式,示例:=VLOOKUP(A2,Sheet2!$A:$B,2,FALSE)
  • 添加文件自动触发宏

    1. 按Alt + F11打开VBA编辑器
    2. 在左侧项目栏找到当前工作簿,双击ThisWorkbook对象
    3. 粘贴以下代码:
    Private Sub Workbook_Open()
        Dim userAccount As String
        Dim nameList As Range
        Dim matchedName As Range
        
        ' 可选:用Environ("USERNAME")获取系统登录用户名,替换下面的Application.UserName
        userAccount = Application.UserName
        
        ' 指向员工姓名所在列,根据实际表格修改范围
        Set nameList = Sheet2.Range("A:A")
        
        ' 精准匹配用户名对应的员工姓名
        Set matchedName = nameList.Find(What:=userAccount, LookIn:=xlValues, LookAt:=xlWhole)
        
        If Not matchedName Is Nothing Then
            ' 填充到需要自动填写姓名的单元格(示例为Sheet1的A2)
            Sheet1.Range("A2").Value = matchedName.Value
            ' 强制刷新公式,确保EID自动加载
            Sheet1.Calculate
        Else
            ' 匹配失败时的提示,可按需修改
            MsgBox "未找到当前用户对应的员工信息,请手动选择", vbInformation
        End If
    End Sub
    
    1. 将文件另存为**启用宏的工作簿(.xlsm)**格式,普通.xlsx不支持宏运行
  • 关键说明

    • Application.UserName读取的是Excel自身设置的用户名,部分企业环境会同步系统登录名;若未同步,改用Environ("USERNAME")可直接获取Windows系统登录账户名
    • 若存在重名员工,需在对照表中补充其他标识(如部门)优化匹配逻辑,避免错误填充
    • 打开文件时需启用宏,若弹出安全提示,选择「启用内容」才能触发自动填充

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:01:06