Отсутствует свойство Excel VBA «AxisBetweenCategories» в ChartSpace

Я тщетно пытаюсь установить для свойства AxisBetweenCategories значение False в пользовательском формате ChartSpace. Это кластерныйBarChart. Я сделал то же самое вручную в обычной диаграмме, и это сработало. Запись Marco сгенерировала код с AxisBetweenCategories свойства AxisBetweenCategories . Почему я не могу использовать его в Userform ChartSpace.

 me.ChartSpace1.Charts(0).Axes(0).AxisBetweenCategories = False 'doesn't work 

Что мне не хватает? благодаря

«Диаграмма» внутри объекта ChartSpace имеет тип ChChart а те же свойства и методы, которые вы используете на Chart (лист или листы), не переводится напрямую, так что, к сожалению, макрорекордер не будет очень полезен, вам придется превратитесь в добрую старомодную отладку, пробную версию и ошибку.

Я использую окно Locals для проверки объектов для подсказки на объектной модели (так я наблюдаю тип ChChart и т. Д.),

введите описание изображения здесь

Затем вы можете посмотреть доступные свойства, и Google обычно может указать вам в правильном направлении , как в этом примере . Изучая intellisense, я вижу, что существуют действительно ограниченные варианты, которые не совпадают с объектами Chart на листе.

В конце концов, это, вероятно, не тот ответ, который вы хотите услышать, но это невозможно сделать так, как вы этого хотите .

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

[Chartspace Charts do] не имеют уточненного пересечения оси, как это делает Excel. Особенности между ними будут одинаковыми в определенной области, а не в других

И аналогичный пример от Microsoft :

В этом примере ось категории пересекает ось значений при нулевом значении (0) в рабочем пространстве диаграммы.

 Sub SetCrossingValue() Dim chConstants Dim axValueAxis Dim axCategoryAxis Set chtContants = ChartSpace1.Constants Set axValueAxis = ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionValue) Set axCategoryAxis = ChartSpace1.Charts(0).Axes(chConstants.chAxisPositionCategory) axValueAxis.CrossingAxis = axCategoryAxis axCategoryAxis.CrossesAtValue = 0 End Sub 
  • Как установить FileDialog, чтобы не разрешать двойной щелчок
  • Ошибка 381 при создании combobox (2 столбца) пустая
  • Автоматизировать идентификатор с помощью пользовательских записей - Excel
  • Как вставить изображение из Интернета в форму VBA Excel Userform
  • Заполнение вопросов ComboBox - дублирование значений при каждом выборе поля, а именованный диапазон не заполняется
  • Gif не воспроизводится непрерывно в Webbrowser Control в форме Excel VBA, пока выполняется другой код
  • Определите, какая строка VBA выполняется в настоящий момент для панели выполнения
  • Userform.Show на кнопке формы не распознает пользовательскую форму, получив ошибку 424
  • Изменение столбцов для comboboxes пользовательской формы Excel
  • Попытка ссылаться на другой рабочий лист в активной книге
  • Excel VBA - Как открыть Userform с использованием переменной в имени
  • Давайте будем гением компьютера.