2015-07-23 1 views
1

Итак, я изучал способы отображения диаграмм в пользовательской форме. Общий консенсус, похоже, заключается в том, что вам нужно сохранить диаграмму как .GIF-файл, а затем загрузить его в пользовательскую форму как образ, однако это означало бы, что любой пользователь, использующий пользовательскую форму, должен был бы сохранить файл как изображение чтобы просмотреть информацию (и я не верю, что кто-либо из моих партнеров будет тратить время, чтобы узнать, как это сделать, они просто хотят быстрый просмотр диаграммы).Отображение «живых» данных диаграммы в пользовательской форме Excel

Есть ли обходной путь для отображения графика (который постоянно обновляется данными, входящими) в пользовательскую форму? Я пробовал несколько проспектов и не нашел ничего ... Кроме того, у моего Excel 2013, похоже, нет опции Microsoft Office Charts на панели инструментов, это что-то изменилось?

Спасибо!

ответ

2

Случай 1: Если диаграмма на листе, будет легче, как показано ниже:

Private Sub UserForm_Initialize() 
    Dim Fname As String 

    Call SaveChart 
    Fname = ThisWorkbook.Path & "\temp1.gif" 
    Me.Image1.Picture = LoadPicture(Fname) 
End Sub 

Private Sub SaveChart() 
    Dim MyChart As Chart 
    Dim Fname As String 

    Set MyChart = Sheets("Data").ChartObjects(1).Chart 
    Fname = ThisWorkbook.Path & "\temp1.gif" 
    MyChart.Export Filename:=Fname, FilterName:="GIF" 
End Sub 

Случай 2: Если диаграмма не на листе, то, возможно, потребуется создать временную диаграмму, сохранить это как GIF, удалить его и, наконец, загрузить изображение {

Me.Image1.Picture = LoadPicture(Fname) 

} при инициализации Userform.

Корпус 1 легче кодировать. Вышеприведенный код по-прежнему работает, даже я вырезал и вставлял диаграмму в более скрытый рабочий лист.

+1

Не выбирайте формат GIF. Фильтр MS создает плохие изображения. Вы можете сделать то же самое с BMP для идеального изображения графика. Даже JPG лучше, чем GIF. –

+0

Я не согласен. По крайней мере, в Excel 2013 на моем мобильном ноутбуке я не могу различать BMP, GIF и PNG, но JPG стоит отдельно. Он нечеткий и путаный, и цвета линий не воспроизводятся точно. [Вот мой пример изображения.] (Http://peltiertech.com/images/2015-07/ChartImageFormats.png). Наилучшим форматом изображения графика является PNG, но LoadPicture не примет этого, только BMP, GIF или JPG. Поэтому используйте GIF или BMP. –

+0

Это работает отлично! Я пошел со случаем 1, поскольку у меня была диаграмма на листе. Спасибо! – user3794203