Я хочу переместить фигуру, когда пользователь выбирает Да или Нет из раскрывающегося списка. Я думал, что это будет просто, а именно, вырезать и вставлять фигуру с помощью VBA, но, похоже, это не сработает.
Ниже изображение в качестве визуального представления:
Цель состоит в том, чтобы отобразить форму (ячейка CC18), если выбрано «да», и вне поля зрения (в идеале, на другом листе, но также можно перейти на тот же лист), если выбрано «нет».
Я запустил Macro Recorder
и получил следующий код:
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Shapes.Range(Array("shpAPEX")).Select
Selection.Cut
Range("CH18").Select
ActiveSheet.Paste
End Sub
Очевидно, что это не идеально, поэтому я попытался перевести это в нечто более чистое, а именно:
ws.Shapes("shpAPEX").Cut
ws.Range("CC18").Paste
Но это не работает. Это сокращает форму, но не вставляет это. Я могу видеть это, находя форму в буфере обмена.
Однако работает приведенный ниже код:
ws.Shapes("shpAPEX").Cut
ws.Range("CC18").Select
ActiveSheet.Paste
Может кто-нибудь объяснить мне, почему моя первоначальная попытка не работает, а также как лучше всего перемещать фигуры между листами?