Страницы: 1
RSS
Разместить диаграмму на UserForm
 
Добрый день! Подскажите, пожалуйста, Как сделать диаграмму в Form excel? Например - открывается форма, а в ней комбинированная диаграмма, которая тянется с листа. Заранее спасибо.
 
Например - это пример в файле Excel
 
Я объект "Image" не настраивал, просто вставил "Image" на форму и написал код. Больше никаких действий с "Image" не делал. Для теста можете запустить макрос кнопкой из "D2".
 
Karataev, что дает "убийство" строковой переменной?
 
vikttur, Kill работает с файлами, соответственно удаляется файл, имя которого записано в переменную.
 
Спасибо, понял.
 
Пример от Уокенбаха.  
 
Юрий М, принцип один и тот же, что в посте 3, что в посте 7.
 
Я файл из #3 не смотрел. Просто поделился тем, что есть )
 
Karataev, спасибо за решение. Есть вопрос, а если у меня на листе несколько графиков и несколько форм и к каждой форме определённый график, то как это прописать. Заранее спасибо.
 
Лист и диаграмма указываются в модуле формы, вот здесь:
Код
Set objChart = ActiveSheet.ChartObjects(1).Chart

ActiveSheet - это активный лист (который Вы видите на экране).
ChartObjects(1) - это диаграмма. В скобках порядковый номер диаграммы. Но нужно иметь ввиду, что порядковые номера могут не соответствовать расположению диаграммы на листе.
Вместо "ActiveSheet"  можно писать "WorkSheets(1)". В скобках или порядковый номер листа или имя листа. Если имя листа, то заключайте в кавычки "WorkSheets("Лист1")".
 
Цитата
Karataev написал:
В скобках или порядковый номер листа или имя листа. Если имя листа, то заключайте в кавычки "WorkSheets("Лист1")".
Спасибо, а если мне нужно взять диаграммы с другой книги, то в скобках можно прописать путь к файлу? В VBA новичок, простите за много вопросов)
 
В этом случае откройте файл, в котором диаграмма, сохраните диаграмму в рисунок, закройте файл, и затем уже используйте имеющийся код.
Как открывать файл, закрывать, я не буду описывать, поищите в интернете или спросите на форуме, если не найдете в интернете и на форуме.
 
Просто сохранять графики как картинки не подходит, так как каждый месяц они меняются, а это придётся пересохранять их каждый месяц, а это ручной труд - конечно, если я правильно понял  :) . Хорошо, постараюсь найти информацию. Спасибо за помощь!
 
Макрос сейчас сохраняет диаграмму в файл, это делает метод "Export".

PS. Не цитируйте посты целиком. Чтобы ответить, не нужно щелкать кнопку "Цитировать", а достаточно прокрутить страницу вниз и там будет поле для написания поста. Если хотите к кому-то обратиться, то или просто напишите ник, или внизу справа поста есть ссылка Имя, которая вставит ник форумчанина в Ваш пост.
 
Появилось время, решил написать решение, т.к. в принципе здесь немного кода, да и в тему. Остальный код без изменений. То есть Вам надо ту процедуру "Private Sub UserForm_Initialize" удалить, и использовать эту процедуру "Private Sub UserForm_Initialize". И в этой процедуре укажите путь, имя файла, имя листа. Я сделал комментарии в коде.
Скрытый текст
 
Karataev, Спасибо Вам большое, вы гений. Надеюсь я тоже когда-нибудь изучу хорошо макросы и совсем пойму принцип  :). Может Вы сможете подсказать литературу почитать мне, чтоб мне не быть таким чайником.

P.S. спасибо за подсказку по поводу цитат, честно не знал  :D .
 
MillerLogan, если у Вас конкретная задача, то ищите через гугл, есть не нашли, то задавайте вопросы на форуме.
Если у Вас нет задачи, а Вы просто хотите обучаться, то отвечайте на те вопросы, которые задают на форуме.
Также можете параллельно читать книги по VBA и Excel.

По поводу цитат. Это написано в правилах форума. Да и просто зачем цитировать посты целиком? Какой в этом смысл?
Страницы: 1
Наверх