Страницы: 1
RSS
Макрос блокирует возможность отмены действий, В развитие ранее заданного вопроса
 
Друзья, посмотрите, пожалуйста, и подскажите где ошибка (а может и нет такой) в этом макросе и почему он блокирует (делает неактивными) кнопки отмены и возврата действий, в том числе и действие Ctrl+Z? При отключении макроса всё нормализуется.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    With ActiveSheet.Shapes.Range(Array("TextBox 1"))
    If Not Application.Intersect(Range("AM4:AM1700, AW4:AW1700, BC4:BC1700"), Target) Is Nothing Then
        .Top = Target.Top
        .Left = Target.Offset(0, 1).Left
        .TextFrame2.TextRange.Characters.Text = Target '.Offset(0, -1)
        .Visible = True
    Else
        .Visible = False
    End If
    End With
End Sub
 
Цитата
Эльбрус написал:
почему он блокирует (делает неактивными) кнопки отмены и возврата действий
Это нормально, после действий макроса пропадает возможность отмены действий совершенных до запуска макроса
Изменено: Александр П. - 23.04.2021 07:13:16
 
Цитата
Александр П. написал:
Это нормально
ну как нормально, с виду странно, вроде на листе изменений нет, а стек UNDO очищается. Но так устроена программа и с этим ничего не поделать разве что писать свою процедуру UNDO но её сложность будет в раз больше чем действия целевого макроса.
По вопросам из тем форума, личку не читаю.
 
БМВ, этот макрос, как Вы наверное поняли, выводит наподобие примечания содержимое ячеек указанных столбцов при клике на ячейку. Т.е. даже когда только открываешь книгу кнопки отмены-возврата уже неактивны. Так и должно быть или есть возможность что-то в макросе немножко уточнить без глобальной переделки?
Спасибо!
Изменено: Эльбрус - 23.04.2021 16:39:02
Страницы: 1
Наверх