Что значит "как добавить"? Она уже там, вами добавлена.
Ну вы же картинками показываете?
Так на моей картинке вроде код виден, как я к коллекции диаграмм получаю доступ Я подключил к переменой shc - .ChartObjects листа, это коллекция всех диаграмм листа. А shc(1) ( или shc("Диаграмма 3") или shc.Item(1) ) - это и есть сейчас ваша диаграмма, насколько я вижу...
Что значит "как добавить"? Она уже там, вами добавлена.
Ну вы же картинками показываете?
Так на моей картинке вроде код виден, как я к коллекции диаграмм получаю доступ Я подключил к переменой shc - .ChartObjects листа, это коллекция всех диаграмм листа. А shc(1) ( или shc("Диаграмма 3") или shc.Item(1) ) - это и есть сейчас ваша диаграмма, насколько я вижу...AndreTM
asmel, я не понимаю, что вы подразумеваете под "увидеть диаграмму в VBA"... И зачем вы определяете переменную типа ChartObject, а пытаетесь установить в неё ссылку на коллекцию (свойство) ChartObjects? Зачем вам нужна Public-переменная Chart, да ещё и с событиями?
Вот вы умеете работать с листами, ячейками и прочим? Как вы к ним обращаетесь? Например, вам нужна ячейка "B5" на листе "Лист12". Вот вы пишете: [vba]
Код
Dim cell As Range set cell = Sheets("Лист12").Range("B5")
[/vba] Так? Ну или можете обратиться по индексам элементов: [vba]
Код
set cell = Sheets(3).Cells(5,2)
[/vba]
Вот вам надо получить ссылку на диаграмму с именем "Диаграмма 3" на листе "Лист1". В чем проблема? [vba]
Код
Dim grf As ChartObject ' или просто Object set grf = Sheets("Лист1").ChartObjects("Диаграмма 3")
[/vba] Ну или, например, зная, что лист у вас - второй по списку, а диаграмма на нём всего одна: [vba]
Код
set grf = Sheets(2).ChartObjects.Item(1)
[/vba] Что неясного?
Обновите для себя знания по работе с объектами и коллекциями... в конце концов, просто обратитесь к справке или MSDN, объектная модель, а также методы и свойства - везде представлены.
asmel, я не понимаю, что вы подразумеваете под "увидеть диаграмму в VBA"... И зачем вы определяете переменную типа ChartObject, а пытаетесь установить в неё ссылку на коллекцию (свойство) ChartObjects? Зачем вам нужна Public-переменная Chart, да ещё и с событиями?
Вот вы умеете работать с листами, ячейками и прочим? Как вы к ним обращаетесь? Например, вам нужна ячейка "B5" на листе "Лист12". Вот вы пишете: [vba]
Код
Dim cell As Range set cell = Sheets("Лист12").Range("B5")
[/vba] Так? Ну или можете обратиться по индексам элементов: [vba]
Код
set cell = Sheets(3).Cells(5,2)
[/vba]
Вот вам надо получить ссылку на диаграмму с именем "Диаграмма 3" на листе "Лист1". В чем проблема? [vba]
Код
Dim grf As ChartObject ' или просто Object set grf = Sheets("Лист1").ChartObjects("Диаграмма 3")
[/vba] Ну или, например, зная, что лист у вас - второй по списку, а диаграмма на нём всего одна: [vba]
Код
set grf = Sheets(2).ChartObjects.Item(1)
[/vba] Что неясного?
Обновите для себя знания по работе с объектами и коллекциями... в конце концов, просто обратитесь к справке или MSDN, объектная модель, а также методы и свойства - везде представлены.AndreTM
AndreTM, есть экселевский файл (1009936.xls) - пристыкован к сообщению вхожу в этом файле в редактор VBA и вижу под строкой Microsoft Excel Objects вижу объекты описанные в этом файле среди этих объектов нет диаграммы (графика), который присутствует при открытии экселем этого файла при входе в редактор VBA я надеялся увидеть в списке объектов мою диаграмму, которая однозначно есть в файле в списке на картинке объекта диаграммы нет как сделать объект диаграмму видимым в списке объектов файла 1009936.xls
AndreTM, есть экселевский файл (1009936.xls) - пристыкован к сообщению вхожу в этом файле в редактор VBA и вижу под строкой Microsoft Excel Objects вижу объекты описанные в этом файле среди этих объектов нет диаграммы (графика), который присутствует при открытии экселем этого файла при входе в редактор VBA я надеялся увидеть в списке объектов мою диаграмму, которая однозначно есть в файле в списке на картинке объекта диаграммы нет как сделать объект диаграмму видимым в списке объектов файла 1009936.xlsasmel
На нескольких листах 1,2,3 будут разные данные и разные графики и я хочу, чтобы программа работала на каждом листе со своим графиком. Пока это не получается - при переходе на другой лист соответствие точек графика ячейкам пропадает. А еще хочется разобраться с объектами в ООП.
На нескольких листах 1,2,3 будут разные данные и разные графики и я хочу, чтобы программа работала на каждом листе со своим графиком. Пока это не получается - при переходе на другой лист соответствие точек графика ячейкам пропадает. А еще хочется разобраться с объектами в ООП.asmel
Что в вашем понимании есть "программа"? Если это "код на VBA" - то см. выше. Если это что-то другое - то, будьте добры, сформулируйте свой понимание термина.
Что в вашем понимании есть "программа"? Если это "код на VBA" - то см. выше. Если это что-то другое - то, будьте добры, сформулируйте свой понимание термина.
В сообщении №13 приложен файл 1009936.xls. Код VBA в разделе Class Modules - Class1 для меня является программой (возможно это не так). Эта программа при активации точки диаграммы изменяет цвет двух ячеек, в которых находятся данные для точки диаграммы. Эту программу написала Pelena, за что я ей очень благодарен. С этой программой я пытаюсь разобраться, а заодно и с ООП. Вопрос созданной мной темы "Является ли диаграмма объектом в ООП для VBA" В списке объектов редактора VBA для файла 1009936.xls нет объекта диаграммы, хотя она присутствует. Мне это не понятно. Если Вы AndreTM, понимаете работу VBA с объектами эксель, буду Вам благодарен за соответствующие разъяснения.
В сообщении №13 приложен файл 1009936.xls. Код VBA в разделе Class Modules - Class1 для меня является программой (возможно это не так). Эта программа при активации точки диаграммы изменяет цвет двух ячеек, в которых находятся данные для точки диаграммы. Эту программу написала Pelena, за что я ей очень благодарен. С этой программой я пытаюсь разобраться, а заодно и с ООП. Вопрос созданной мной темы "Является ли диаграмма объектом в ООП для VBA" В списке объектов редактора VBA для файла 1009936.xls нет объекта диаграммы, хотя она присутствует. Мне это не понятно. Если Вы AndreTM, понимаете работу VBA с объектами эксель, буду Вам благодарен за соответствующие разъяснения.asmel
Сообщение отредактировал asmel - Воскресенье, 27.08.2017, 07:01
Насколько я понимаю, диаграмма является объектом листа, а не VBAProject, в отличие от листа, книги или макроса. Поэтому в VBE её нет, иначе по Вашей логике все фигуры, кнопки, картинки из листа должны были бы попадать в список объектов VBAProject
при переходе на другой лист соответствие точек графика ячейкам пропадает
Давно бы уже решили
Насколько я понимаю, диаграмма является объектом листа, а не VBAProject, в отличие от листа, книги или макроса. Поэтому в VBE её нет, иначе по Вашей логике все фигуры, кнопки, картинки из листа должны были бы попадать в список объектов VBAProject