Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 18
1

Построение графиков VBA без использования ячеек

25.01.2014, 20:28. Показов 6411. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста, как можно построить диаграмму по значениям, хранящимся в массиве, а не в ячейках рабочего листа. Постоянно выдает ошибку именно на строчке, где массивы передаются в график.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'имеющиеся массивы
Dim FDates(1 To 100) As Variant
Dim FPays(1 To 100) As Variant
'дальше идет блок кода по заполнению этих массивов. 
....
'построение диаграммы
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = FDates()
ActiveChart.SeriesCollection(1).Values = FPays()
ActiveChart.SeriesCollection(1).Name = "=""ABC"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Results"
With ActiveChart
         .HasTitle = True
         .ChartTitle.Characters.Text = _
         "Шапка диаграммы"
         .Axes(xlCategory, xlPrimary).HasTitle = True
         .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "EFG"
         .Axes(xlValue, xlPrimary).HasTitle = True
         .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "HIJ"
End With
ActiveChart.HasLegend = False
Как можно решить данную задачу?
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2014, 20:28
Ответы с готовыми решениями:

Построение графиков и диаграмм VBA
Добрый вечер. Ребята очень нужно решить несколько практических по VBA: 1. Функція y=f(x) ...

Построение графиков в MS Excel с помощью VBA
Большая просьба, если кто-нибудь писал программку для автоматизированного построения графиков в...

Быстрый перенос формата ячеек без использования .Copy и .Cut
Доброго дня! Задача: собрать с нескольких листов таблицы с форматированием и поместить на один...

Связать VBA Excel файл с DLL без регистрации, с возможностью менять значения ячеек
Всем привет! Подскажите, пожалуйста, а то я не догоняю что я делаю не так... Я не силен в "ООП",...

2
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
25.01.2014, 20:57 2
Лучший ответ Сообщение было отмечено ikki как решение

Решение

Вот пример построения диаграммы на основе массива:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public A() As Integer ' объявляем массив
 
Sub test()
    Dim i, n
    Randomize ' инициализируем ГСЧ
    n = InputBox("Введите количество элементов массива", "Требуется ввод данных!", 10)
    ReDim A(n - 1)
    For i = 0 To n - 1
        A(i) = Int(100 * Rnd + 1) ' заполняем случайными числами в диапазоне от 1 до 100
    Next i
    ActiveSheet.ChartObjects.Delete
    With Charts.Add
        .ChartType = xlLine
        With .SeriesCollection.NewSeries
            .Values = A
            .Name = "A(x)"
        End With
        .Location Where:=xlLocationAsObject, Name:="Лист1"
    End With
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "A(x)"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "X"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "A"
    End With
    Range("A1").Select
End Sub
3
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 18
25.01.2014, 21:09  [ТС] 3
Спасибо за ответ. Буду пытаться
0
25.01.2014, 21:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2014, 21:09
Помогаю со студенческими работами здесь

Построение графиков в VBA
Очень извиняюсь за столь чайниковскую просьбу, дело в том, что я VBA не силён, а в универе дали...

Найти сумму ячеек без использования макросов
Здравствуйте. Нужно сложить две ячейки (к примеру А1 и А2). А1 = А1 + А2 (то есть нужно, чтобы А1...

Отправка почты из vba без использования Outlook
добрый день. щас задам недостойный вопрос ) нашел на форуме код (ниже прилагаю), прописал его в...

Отсортировать массив в excel без использования VBA
Отсортировать по возрастанию первую меньшую половину массива a , размерностью n . Первая меньшая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru