Пытаюсь программно выделить третью точку на точечном графике. Вроде бы ничего плохого не делаю. Точка не выделяется. В чем дело? [vba]
Код
Option Explicit Dim grf As ChartObject Dim p As Point
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set grf = ThisWorkbook.Worksheets(1).ChartObjects(1) grf.Activate 'выделение графика Set p = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points(3) p.Select ' выделение третьей точки на графике ??? End Sub
[/vba] ошибка Run-time error '1004': Метод Select из класса Point завершен неверно
Пытаюсь программно выделить третью точку на точечном графике. Вроде бы ничего плохого не делаю. Точка не выделяется. В чем дело? [vba]
Код
Option Explicit Dim grf As ChartObject Dim p As Point
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Set grf = ThisWorkbook.Worksheets(1).ChartObjects(1) grf.Activate 'выделение графика Set p = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points(3) p.Select ' выделение третьей точки на графике ??? End Sub
[/vba] ошибка Run-time error '1004': Метод Select из класса Point завершен неверноasmel
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(1).Points(3).Select End Sub
[/vba]
А так не проще? [vba]
Код
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(1).Points(3).Select End Sub
Потому, что файл нужно пересохранить в новом расширении - xlsm Более того, достаточно просто открыть файл и пересохранить его с другим названием (в xls) Более того, достаточно при ругательстве просто нажать END и закрыть файл. При следующем открытии все будет нормально. Можно даже и не закрывать.
Потому, что файл нужно пересохранить в новом расширении - xlsm Более того, достаточно просто открыть файл и пересохранить его с другим названием (в xls) Более того, достаточно при ругательстве просто нажать END и закрыть файл. При следующем открытии все будет нормально. Можно даже и не закрывать.
Уважаемые buchlotnik, _Boroda_, к сожалению я сейчас работаю на Excel 2003. С файлами из Ваших сообщений получаю ошибку Run-time error '1004': Метод Select из класса Point завершен неверно Очень обидно, что такой мощный продукт как Excel, нахально дискриминирует очень полезную и употребимую опцию работы с диаграммами и графиками. Интересно, есть ли шанс победить баг с точкой на графике, в 2003 Excelе.
Уважаемые buchlotnik, _Boroda_, к сожалению я сейчас работаю на Excel 2003. С файлами из Ваших сообщений получаю ошибку Run-time error '1004': Метод Select из класса Point завершен неверно Очень обидно, что такой мощный продукт как Excel, нахально дискриминирует очень полезную и употребимую опцию работы с диаграммами и графиками. Интересно, есть ли шанс победить баг с точкой на графике, в 2003 Excelе.asmel
Для меня и слова эти, почти что не употребляемые. Excelем, естественно купленным в свое время за 5 копеек, пользуюсь практически с самого его рождения. Такого рода закидоны практически не встречались.
Для меня и слова эти, почти что не употребляемые. Excelем, естественно купленным в свое время за 5 копеек, пользуюсь практически с самого его рождения. Такого рода закидоны практически не встречались.asmel
Раньше я на это не обращал внимание. Скорее всего установлен. Это можно как-то проверить? Лет 10 пользуюсь WindowsXP и его накачками. Может что-либо и упустил. Я не программист - я пользователь.
Раньше я на это не обращал внимание. Скорее всего установлен. Это можно как-то проверить? Лет 10 пользуюсь WindowsXP и его накачками. Может что-либо и упустил. Я не программист - я пользователь.asmel
Кстати, странно... В 2003-м доступ-то к точке получить можно: [vba]
Код
Set oCh = ActiveSheet.ChartObjects(1).Chart Set oCh_coll = oCh.SeriesCollection(1) Set oCh_point = oCh_coll.Points([a1])
[/vba] И не отрабатывает именно метод .Select. Значения X,Y точки, кстати, лежат в XValues() и Values() коллекции, а не в самой точке И при этом привязаны в диапазоны-источники, через свойство .Formula коллекции.
Кстати, странно... В 2003-м доступ-то к точке получить можно: [vba]
Код
Set oCh = ActiveSheet.ChartObjects(1).Chart Set oCh_coll = oCh.SeriesCollection(1) Set oCh_point = oCh_coll.Points([a1])
[/vba] И не отрабатывает именно метод .Select. Значения X,Y точки, кстати, лежат в XValues() и Values() коллекции, а не в самой точке И при этом привязаны в диапазоны-источники, через свойство .Formula коллекции.AndreTM