我的问题是,如果我输入“JOHN”4 次,然后显示错误或停止消息“您超过 3,请输入新名称”
“参与者列表的最大值为 3”
这应该有效,或者至少可以帮助您入门。只有在 中更改单元格时才会调用宏Column B
。触发时,如果参与者名称在列中存在超过 3 次,宏将显示一条消息并清除更改单元格的整行。
您不需要保留Column D
此宏,因为它会独立计算计数。如果您需要查看剩余的可能计数(1、2、3),将其留在那里也没有什么坏处
要实施,请将此代码粘贴到VB Editor
存储代码的工作表上。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
If Application.WorksheetFunction.CountIf(Range("B:B"), Target) > 3 Then
Application.EnableEvents = False
MsgBox "Participant Already Has 3 Entries!"
Target.EntireRow.Clear
Application.EnableEvents = True
End If
End If
End Sub