Это должно сработать, или, по крайней мере, , чтобы вы начали.Макрос будет вызываться только при изменении ячейки в Column B
.При запуске макрос отобразит сообщение и очистит всю строку измененной ячейки IF Имя участника существует более 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