Я создаю инструментальные панели на основе 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 диаграммы, он вставляет только первый тот, которому я назначил макрос. Кроме того, после того, как я снял защиту, у диаграмм возникли некоторые трудности с адаптацией к незащищенному рабочему листу, и вы должны щелкнуть по ним правой кнопкой мыши, чтобы очистить это (в основном они изначально появляются / работают так, как будто они все еще находятся на защищенном рабочем листе, пока вы не щелкните правой кнопкой мыши). на них).

Любые идеи о другом макросе или для исправления этого?

Большое спасибо заранее!

0