Текущий код:
Const cName = "ChartDummy"
Const rName = "Availability"
Const iconSource = "C:\user.name\defaulfolder\"
'/* Availability is a named Range for this example but can be any valid range */
'/* UF_EmoTrans is a Userform with and Image Control named I_Console */
Dim oCh As ChartObject, chImg As String
Dim Ch As Object
Application.DisplayAlerts = False
With Sheet2
'.Activate
chImg = iconSource & "availIcon.jpg"
Set oCh = .ChartObjects.Add(370, 14, 180, 277.2): oCh.Name = cName
.Range(rName).CopyPicture xlScreen, xlBitmap
'oCh.Activate
oCh.Chart.Paste
oCh.Chart.Export chImg, "JPG"
'/* I call this procedure at UserForm_Initialize */
UF_EMOTrans.I_Console.Picture = LoadPicture(chImg)
oCh.Delete
End With
Мой текущий код работает, когда я запускаю его в режиме прерывания (используя F8 и проходя через каждую строку).
Экспортирует Диапазон какизображение (через chartobject) и загружает его в пользовательскую форму просто отлично.
![How Image Control Looks](https://i.stack.imgur.com/W6a2h.jpg)
Теперь, когда я запускаю это в режиме выполнения (загрузкаформа), он не создает тот же результат.
Кажется, что метод oCh.Chart.Paste
не сработал, и поэтому изображение не было вставлено в диаграмму.
После экспорта создается изображение с простым белым фоном..
![How it looks when in not in break mode](https://i.stack.imgur.com/6h53X.jpg)
Итак, мой вопрос, почему это так?Почему он ведет себя по-разному?
PS : он будет работать, если диаграмма активирована (но вам нужно сначала активировать лист) до вставки (закомментированные строки).
НоЯ просто хочу знать, является ли это одной из тех странностей, которые есть в Excel, с которыми нам просто нужно жить.