繁体   English   中英

如何在 vba 中同时触发多个目标值

[英]How to trigger more than one target value simultaneously in vba

我有一个由 K 和 P 列中的用户输入触发的代码:如果在“K”中插入任何值,则偏移到 R 列中的相应单元格并填充用户名。 如果在“P”中插入任何值,则偏移到 Q 列中的相应单元格并使用 TODAY() 填充数据。

我的代码如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim UserName As String
UserName = Environ("username")

    If Target.Column <> 11 Then Exit Sub
    Target.Offset(, 7).Value = IIf(Target.Value = "", "", UserName)
   
    If Target.Column <> 16 Then Exit Sub
    Target.Offset(, 1).Value = IIf(Target.Value = "", "", Now)


End Sub

问题是它只适用于第一个 IF,我怎样才能让它同时适用于两者?

先感谢您!!

测试目标范围内的每个单元格。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim cell As Range
    
    Application.EnableEvents = False
    For Each cell In Target.Cells
        If cell.Column = 11 Then
            cell.Offset(, 7).Value = IIf(cell.Value = "", "", Environ("username"))
        ElseIf cell.Column = 16 Then
            cell.Offset(, 1).Value = IIf(cell.Value = "", "", Now)
        End If
    Next
    Application.EnableEvents = True

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM