powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
12 сообщений из 12, страница 1 из 1
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939132
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые спецы.

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

Задача в следующем

Есть таблица с данными в разное время. Я построил гистограмму по первому ряду значений.

Time An18 An17 An16 An15 An14 An13 An12 An11 An10
11:12:55 AM 2.05 1.98 1.89 1.87 1.74 2.71 2.91 2.25 1.29
11:12:57 AM 2.03 1.97 1.95 1.86 1.94 2.66 2.68 2.16 1.25
11:12:59 AM 1.96 1.92 1.94 1.92 1.79 2.47 2.33 2.08 1.20
11:13:01 AM 1.91 1.91 1.96 2.01 1.85 2.12 1.80 2.09 1.29

Теперь я хочу чтобы через, например, секунду график перерисовывался со следующей строкой значений (всего строк около 1000), т.е. рисовалась гистограмма для следующего момента времени и т.д. пока все не прорисуются. Так сказать анимацию сделать. С VBA не знаком вообще. Только с фортраном и паскалем (вычисления делал, никакой графики).

Я пробовал записать макрос вручную меняя диапозон со значениями, так я понял смысл, где меняется диапозон в программе. Осталось его зациклить и вставить задержку. Поискав разные примеры в инете, что-то сделал, но при запуске появляется ошибка, и я ничего не пойму, что дальше.

Помогите, пожалуйста. Выкладываю две версии как я пробовал реализовать макрос.

Sub Macro5()
'
' Macro5 Macro
' Macro recorded 11/4/2010
'


ActiveChart.ChartType = xl3DColumnClustered
Do Until i = 100
yy = i + 7

'хотел изменять только диапозон B8:AM8, начиная с 8 строки и дальше вниз
ActiveChart.SetSourceData Source:=Sheets("Data").Range(Cells(yy, 3), Cells(yy, 20)), PlotBy:= _
xlRows

y = Timer + 0.5

Do While Timer < y
DoEvents
Loop

Loop

End Sub

Но получил ошибку
Run-time error ‘1004’:
Method ‘Cells’ of object ‘_Global’ failed

Покополся дальше нашел пример на этом форуме Excel,VBA: Указание диапазонов для диаграммы
и сделал так

Sub Macro5()
'
' Macro5 Macro
' Macro recorded 11/4/2010
'
For i% = 1 To 50
yy = i + 7
a = Range(Cells(7, 3), Cells(7, 20)).Address
b = Range(Cells(yy, 3), Cells(yy, 20)).Address
Sheets("Data").ChartObjects(1).Activate

ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SetSourceData Source:=Sheets(1).Range(a + "," + b), _
PlotBy:=xlRows _

y = Timer + 0.5
Do While Timer < y
DoEvents
Loop

Next i

End Sub

Вылазит та же ошибка и дебаг в обоих случаях ведет на строку где первый раз встречается Cells

Подскажите, пожалуйста, как до ума довести программу
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939151
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alegarh,

попробуйте полностью специфицировать Cells:
Код: plaintext
ThisWorkbook.Worksheets("Лист1").Cells
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939454
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Спасибо, добавил эту строку первой строкой после Sub

Sub Macro5()

ThisWorkbook.Worksheets("Data").Cells

For i% = 1 To 50
yy = i + 7

...

Выскакивает ошибка Object doen't support this property or method

Пользуюсь Excell 2003, может синтаксис другой?
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939485
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alegarh,

вы не поняли меня

в своем коде замените Cells на то, что я предложил (тот же Cells, но с полным путем у нему)

ЗЫ: публикуя код, обрамляйте его тэгами src
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939514
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, огромное заработало.

Если я правильно понял, то программа не понимала с какого листа и файла брать эти ячейки?
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939523
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно было попробовать сделать так: менять не исходный диапазон значений для чарта, а значения в этом диапазоне (т.е. сдвигать строки на одну вверх, подтягивая следующие строчки в исходную табличку для чарта). Естественно, для этого используется копия исходных данных.
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939556
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

не подскажите еще как определить число строк в таблице, чтобы в макрос каждый раз не залазить, для того чтобы количество шагов в For указать

Заранее благодарен

Нашел вот такую команду, но что-то смысл её мне до конца не понятен и она мне не понятно какое число выдает

Код: plaintext
LastRow=Range("A1").CurrentRegion.Rows.Count
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939563
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alegarh,

Вернее с этой я еще не пробовал пробовал с
Код: plaintext
r_ = WorksheetFunction.Max(Sheets("Data").Range("A:A")) +  7 

по ошибке ту вставил
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939568
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все вроде разобрался как раз с помощью

Код: plaintext
LastRow=Range("A1").CurrentRegion.Rows.Count

Всем спасибо
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939570
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно получить образец вашей таблички с данными и диаграммой?
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939577
alegarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

можно. куда кинуть?
...
Рейтинг: 0 / 0
Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
    #36939734
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В профиле есть e-mail...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать макрос для автоматического изменения исходных данных Диаграммы в Excel на VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]