excel - 捕获多个用户名
问题描述
我正在编写一个 excel 文件,该文件将分发给许多用户以获得他们的批准(用户名作为证据)。所以我创建了一个下拉菜单,如果用户给出 yes ,则需要捕获相应的用户名作为批准证据。
我使用的VBA,参考下面
Function GetUserName() As String
'GetUserName = Environ$("username")
'or
GetUserName = Application.UserName
End Function
在单元格中我使用 =Getusername() 作为属性
现在真正的问题是,假设我是给予“是”批准的批准者之一,上述 VBA 和公式将我的用户名作为证据。然后我将 excel 文件(我给了是,我的用户名作为证据)邮寄给了另一个批准者,当他打开 excel 文件时,我给出的批准更改并捕获当前用户名(另一个批准者用户名)作为证据。我不知道如何避免这种冲突。
我期待的解决方案,总共需要三个批准者批准 excel 文件,并且必须捕获他们相应的用户名作为证据。
需要专家帮助
解决方案
正如 Tim Williams 所说,您需要将用户名捕获为静态值。简而言之,您需要为每个组合框定义一个目标单元格,然后使用类似于
DestinationCell.Value = Application.UserName
这是一种简单明了的方法:
Private Sub ComboBox1_Change()
Dim DestinationCell As Range
Set DestinationCell = ActiveSheet.Cells(2, 2)
If ComboBox1.Value = "Yes" Then DestinationCell.Value = Application.UserName
End Sub
或者,您可以定义与LinkedCell
组合框相关的目标单元格,如下所示:
Set DestinationCell = ActiveSheet.Range(ComboBox1.LinkedCell).Offset(0, -2)
推荐阅读
- powershell - 在变量属性上过滤 Where-Object
- javascript - 在 datepicker onchange 函数之后,使用 javascript/ajax 调用将值发送到相同的 php 页面而不刷新
- visual-studio - 为什么 SSIS Excel 目标编辑器会创建两个 Excel 工作表?
- java - 如何为 Spring Boot RESTful Web 服务配置多级身份验证?
- javascript - 如何检查字符串是否只包含一个空格?
- google-sheets - 使用 dataLabel 创建 STEPPED_AREA 图表
- python - 如何将图标添加到 cx_Freeze 可执行文件?
- python - 使用指数减法评估 symfit 模型时出现 AttributeError
- python - 为什么我的 pygame 应用程序没有响应?
- javascript - OpenLayers 多线画线消失