Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 11:54   #1
vefer
Форумчанин
 
Регистрация: 11.10.2010
Сообщений: 134
По умолчанию Изменить номер диаграммы

Здравствуйте. У меня такая проблема: имеется лист с несколькими диаграммами, я написал макрос, который вызывает каждую диаграмму по номеру:

For s = 1 To 4
ActiveSheet.ChartObjects(s).Activat e
и т.д.

на одном листе работает прекрасно, но когда я копирую этот лист в эту-же книгу, на копии листа макрос не может найти вторую диаграмму, где вообще устанавливаются эти номера диаграмм?
vefer вне форума Ответить с цитированием
Старый 18.02.2011, 12:15   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Номера могут меняться. Особенно при добавлении и удалении диаграмм.
Лучше использовать обращение к членам коллекции. Например:
Код:
Sub Main()
    Dim sh As Shape
    For Each sh In ActiveSheet.Shapes
        If sh.Type = msoChart Then MsgBox sh.Name 'это для примера
    Next
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.02.2011, 12:51   #3
vefer
Форумчанин
 
Регистрация: 11.10.2010
Сообщений: 134
По умолчанию

это конечно хорошо, но мне надо обратиться к каждой из 4х диаграмм на 5ти листах, желательно циклом, не буду-же я к каждой обращаться. Поменять-то номер можно?
vefer вне форума Ответить с цитированием
Старый 19.02.2011, 07:02   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Макрос их "видит", но не активирует. Вместо свойства .Activate объекта ActiveSheet.ChartObjects(s) используйте
Код:
ActiveSheet.ChartObjects(s).Select
В Excel 2007 такой проблемы нет. Если у Вас не получается что-либо другое (кроме активации), приложите файл и объясните, что Вы хотите получить.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 19.02.2011 в 08:53.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реестр - Необходимо изменить действие по умолчанию для .reg файлов(«Изменить» вместо «Объединить»). ACE Valery Windows 7 30.11.2010 23:33
по букве тома определить физический серийный номер накопителя, а не номер тома @лександр Помощь студентам 6 23.09.2010 15:05
Диаграммы megachuhancer Помощь студентам 0 01.09.2010 09:31
Как изменить порядковый номер на наименование услуги pigas Microsoft Office Excel 5 14.06.2010 19:40
Изменить номер подключения к Internet Акашаев Нурлан Безопасность, Шифрование 6 10.05.2007 10:27