Ниже код, который использовался некоторое время, больше не работает.
Я провел тест на новом листе без другого кода с тем же результатом.
Мы недавно переехалив Office 365, и моя текущая версия Excel - 1902.
К сожалению, у всех здесь есть одна и та же версия, поэтому я не могу проверить ее на более старой.
Я упоминаю об этом, потому что не могу думать ни о чем, кромеэто из-за новой ошибки?
Редактировать: я должен добавить, что это было использовано для предотвращения (пере) перемещения строк или столбцов.
Редактировать: Что не работает:Он срабатывает дважды каждый раз. (я пропустил эту важную часть после нескольких правок)
Private Sub Workbook_SheetChange(ByVal wks As Object, ByVal Target As Range)
If ((Target.Address = Target.EntireRow.Address Or _
Target.Address = Target.EntireColumn.Address)) Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
MsgBox "Do not modify the structure.", vbExclamation, "Notice"
End With
End If
End Sub