Я создаю инструментальные панели на основе Excel и хочу иметь возможность копировать и вставлять диаграммы в другое приложение, когда лист защищен. Я не хочу, чтобы диаграммы редактировались, поэтому я оставил флажок "Редактировать объекты" неактивным, когда защищаю лист.
Я нашел следующий макрос и назначил его отдельно каждой диаграмме на каждом листе (в каждой вкладке есть 2-5 диаграмм).
Private Sub Chart1_Click()
ActiveSheet.ChartObjects(1).CopyPicture
MsgBox ("Chart copied to clipboard. You can now paste this into another
application.")
End Sub
К сожалению, похоже, что он работает неправильно (или я делаю что-то не так). Когда я защитил лист после назначения макроса и щелкнул по диаграммам, а затем попытался вставить их .... он вставляет только первый лист с листа - например, если на листе 4 диаграммы, он вставляет только первый тот, которому я назначил макрос. Кроме того, после того, как я снял защиту, у диаграмм возникли некоторые трудности с адаптацией к незащищенному рабочему листу, и вы должны щелкнуть по ним правой кнопкой мыши, чтобы очистить это (в основном они изначально появляются / работают так, как будто они все еще находятся на защищенном рабочем листе, пока вы не щелкните правой кнопкой мыши). на них).
Любые идеи о другом макросе или для исправления этого?
Большое спасибо заранее!