Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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-сайт: dimit.pochta.ru
 Профиль | | #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-сайт: dimit.pochta.ru
 Профиль | | #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-сайт: dimit.pochta.ru
 Профиль | | #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 кривой?)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам