Я написал некоторый код VBA для вставки встроенного изображения во встроенную диаграмму на лист Excel. Процедура пытается сделать это, копируя изображение, добавляя встроенную диаграмму, устанавливая размеры к измерениям изображения, а затем вставляя изображение.

Дело в том, что он работает без ошибок, когда я прохожу через него с F8 («Отладка» → «Шаг в»).  Код выглядит достаточно простым, и я экспериментировал с размещением последовательности «Копировать / Вставить», и, похоже, ничто не помогло завершить этот последний шаг Вставить при запуске макроса.

Sub EP()
Sheet9.Shapes("Picture 2").Copy
Dim xcht As Chart: Set xcht = Sheet9.Shapes.AddChart.Chart
    With xcht
        .ChartArea.ClearContents
        .ChartArea.Width = Sheet9.Shapes("Picture 2").Width
        .ChartArea.Height = Sheet9.Shapes("Picture 2").Height
        .Paste
    End With
End Sub

Он отлично работает с F8 ; изображение вставлено в график.  Просто не во время работы - я запускал с зеленой кнопкой воспроизведения в редакторе VBA, запускал его через диалоговое окно макросов и запускал через кнопку на листе.  Без изменений в результатах.

Что не так?  Как я могу заставить эту подпрограмму работать правильно нормальным вызовом?  Любая помощь приветствуется.

1 ответ1

0

Вам нужно выбрать график, поэтому.Паста идет куда-то:

Sub EP()
  Sheet9.Shapes("Picture 2").Copy
  Dim xcht As Chart
  Set xcht = Sheet9.Shapes.AddChart.Chart
  With xcht
    .ChartArea.Select
    .ChartArea.ClearContents
    .ChartArea.Width = Sheet9.Shapes("Picture 2").Width
    .ChartArea.Height = Sheet9.Shapes("Picture 2").Height
    .Paste
  End With
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .