2015-12-28 2 views
2

Кто-нибудь знает, как получить количество меток вокруг оси при их создании автоматически? Я хотел бы что-то вродеКак получить количество меток в графе Excel с помощью VBA

ActiveChart.Axes(xlValue).Ticklabels.Count  

но «Count» свойство не существует.

Я использую Excel 2007 и не могу найти ответ на этом сайте или в интегрированной справке. Заранее благодарим за помощь.

+1

TickLabels не являются коллекцией, в отличие от большинства плюрализированных объектов. См. Эти документы MSDN: https://msdn.microsoft.com/EN-US/library/office/ff841205.aspx Я бы спросил, чего вы пытаетесь достичь, затем попробуйте другой подход. – MacroMarc

+1

посмотрите на MajorUnit, MinorUnit, MinimumScale, и свойства MaximumScale объекта Axis – MacroMarc

+0

@MacroMarc Спасибо за ваш ответ. Это может быть неправильный подход. Я пытаюсь выделить свою зону графика в соответствии с автоматически созданной сеткой, чтобы иметь двухцветный фон (и получить вертикальные полосы на фоне). Количество ticklabels дало бы мне количество вертикальных основных единиц и, следовательно, «разделитель цветов». EDIT: Не удается удалить первый неповторимый комментарий – dudu721

ответ

0

Следуя замечанию МакроМарка выше - я немного поиграл. Может быть что-то полезно?

Sub tickCount() 

' Working with horizontal axis - xlCategory 

With Worksheets(1).ChartObjects(1).Chart.Axes(xlCategory) 

    Debug.Print (.MaximumScale - .MinimumScale)/.MajorUnit 

End With 

End Sub 

Это, кажется, возвращает/печатает количество тиков или интервалов, независимо от того, установлены они автоматически или вручную. Возможно, это возможно для массажа этого кода ...

Не уверен, что вертикальные полосы извиняются - звучит довольно круто, хотя! Наверное, я бы начал с добавления второй серии столбцов или двух - по одному для каждого цвета, поместив их на вторую ось верха и оттуда - вы, вероятно, уже на этом этапе, хотя ...

+0

Привет @Rovsom, большое спасибо за ваш ответ. Он работает хорошо! Он возвращает количество областей, поэтому (количество меток - 1). Что касается вертикальных полос, я попробовал другое решение с прозрачными формами, размещенными с .top и. левой свойства области графика, он хорошо подходит, но если вы перемещаете окна или изменяете их размер, появляется смещение. Я попробую ваше предложение. Опять же, большое спасибо! – dudu721

Смежные вопросы