Вы можете использовать Worksheet.Change
Событие, оно будет запускаться, когда ячейки на листе будут изменены пользователем или по внешней ссылке.
Например (В следующем примере кода устанавливаются значения в диапазоне A1: A10 должен быть в верхнем регистре при вводе данных в ячейку):
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A10")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
Application.EnableEvents = False
'Set the values to be uppercase
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End Sub
Для получения дополнительной информации, пожалуйста, перейдите по этой ссылке:
Worksheet.Change Event (Excel)