Страница: 1 |
Страница: 1 |
Вопрос: Диаграммы и графики в Excell с помощью VBA
Добавлено: 16.06.05 01:21
Автор вопроса: Данила
Как средствами VBA можно удалить шапку на диагрммах и графиках, изменить шрифт и найти их если они разбросаны по всему файлу Excell? Помогите пожалуйста
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #1
Добавлено: 17.06.05 15:16
Никто не знает чтоль??? Или это настолько глупый вопрос, что на него и отвечать никто не хочет???!!!
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 17.06.05 17:38
Всё элементарно, Ватсон, используйте объектую модель Excel и коллекии! Только ставьте задачу более конкретно. Правильно поставленная задача - половина её решения. Немного погодя скину ответ по удалению Заголовка диаграммы, а также по изменению текста в нём. Если получится, переберу все диаграммы на рабочем листе и в рабочей книге (эту задачу я как-то дано уже решал).
Номер ответа: 3
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #3
Добавлено: 18.06.05 01:22
Я буду очень признателен, если ты это сделаешь.
А что такое "объектая модель Excel и коллекии"?
Я недавно работаю с VBA, и, к сожалению под рукой ничего нет.
Номер ответа: 4
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #4
Добавлено: 22.06.05 23:46
Нарооод!!!! SooooooooooS
Номер ответа: 5
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #5
Добавлено: 24.06.05 23:18
Удалить все заголовки на диаграммах активного листа можно так:
Dim i As Long
For i = 1 To ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(i).Chart.HasTitle = False
Next
Номер ответа: 6
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #6
Добавлено: 26.06.05 19:01
Спасибо, а как обзываються листы с графиками? В смысле как их отделить от листов с таблицами или же текстом?
Номер ответа: 7
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #7
Добавлено: 26.06.05 20:41
Вообще-то, от имени не зависит, что находится на листе.
Из вопроса я понял так, что у Вас на листах (возможно нескольких) находятся диаграммы (несколько диаграмм на один лист).
Уточните это (возможно расположение диаграммы на отдельном листе-"лист диаграммы".
А перебор всех диаграмм (внедрённых, а не отдельно расположенных) во всей активной книге можно сделать так:
Dim sh As Worksheet, i As Long
For Each sh In ActiveWorkbook.Worksheets
For i = 1 To sh.ChartObjects.Count
sh.ChartObjects(i).Chart.HasTitle = True
Next
Next
Номер ответа: 8
Автор ответа:
Данила
Вопросов: 2
Ответов: 9
Профиль | | #8
Добавлено: 29.06.05 21:04
Спасибо, а диаграммы и графики могут быть и как отдельный лист, я не могу знать как они расположены в каждом документе. Мне нужно, чтобы программа определяла все диаграммы находящиеся в документе как на отдельном листе, так и встроенные. А за счёт чего он определяет, что там есть диаграмма?
Номер ответа: 9
Автор ответа:
Дмит
Вопросов: 11
Ответов: 160
Web-сайт:
Профиль | | #9
Добавлено: 01.07.05 21:39
Dim sh As Worksheet, i As Long, cht As Chart
For Each sh In ActiveWorkbook.Worksheets ' цикл по листам в ActiveWorkbook
For i = 1 To sh.ChartObjects.Count ' цикл по диаграммам на листе sh
' sh.ChartObjects.Count - число диаграмм на листе, в цикле перебираются все диаграммы ChartObjects(i)
' ваш код
Next
Next
For Each cht In ActiveWorkbook.Charts ' цикл по листам диаграмм в ActiveWorkbook
' ваш код, например: cht.HasTitle = False
Next cht
Вообще-то правильнее было бы использовать в первой части цикл по элементам коллекции:
Dim ch As ChartObject
For Each ch In ActiveSheet.ChartObjects
ch.Chart.HasTitle = False
Next ch
Но у меня этот код почему-то не идёт (Может Excel 2002 кривой?)