Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2011, 17:21   #1
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
Смущение Диаграмма

Друзья, добрый вечер, подскажите пожалуйста как сделать такой финт.

Есть таблица, скидка, сумма продаж и имя клиента.
Задача, сделать диаграмму силами 2007 Excel, что бы при наведении на точку, было видно еще и название компании:



т.е. по одной оси - скидка, по другой сумма продажи + было видно какому клиенту соответствует точка "скидки и продажи".

я смог это сделать в "точечной" диаграмме, НО добавлять стоки (клиент, сумма продаж, скидка) в моем решении нужно по одной группе (клиент, сумма продаж, скидка), а у меня простыня из десятков групп, SOS

думаю, что или это очень просто или невозможно
Exo вне форума Ответить с цитированием
Старый 19.08.2011, 17:54   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Я недавно решил такую проблему следующим образом:
При создании диаграммы написал макрос а потом поставил перебор (количество точек ограничено где-то 200 строк). В нём имя поля проставлял как имя контрагента и соответственно данные оси.

For i=2 to 200

добавление одной строки (можно тупо записать макросом) в котором номер строки будет = i

next
gluk_fm вне форума Ответить с цитированием
Старый 19.08.2011, 18:25   #3
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
По умолчанию

Цитата:
Сообщение от gluk_fm Посмотреть сообщение
Я недавно решил такую проблему следующим образом:
При создании диаграммы написал макрос а потом поставил перебор (количество точек ограничено где-то 200 строк). В нём имя поля проставлял как имя контрагента и соответственно данные оси.

For i=2 to 200

добавление одной строки (можно тупо записать макросом) в котором номер строки будет = i

next
т.е. вы говорите о моем варианте с точечной диаграммой, но добавлять значения в диаграмму хотите заставить макрос? отличная идея, тогда более подробно, если можно, что нужно изменить?

Код:
Sub Макрос1()

    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = _
        "='Sales_discounts_standart_start '!$B$3" 'клиент
    ActiveChart.SeriesCollection(1).XValues = _
        "='Sales_discounts_standart_start '!$A$3" ' скидка
    ActiveChart.SeriesCollection(1).Values = _
        "='Sales_discounts_standart_start '!$C$3" 'сумма продажи
End Sub
Exo вне форума Ответить с цитированием
Старый 19.08.2011, 18:46   #4
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Будет так (не могу проверить комп еле работает, выполняется задача)

После того как график создан и просто очищен (пустая таблица):
sub tt()

For =2 to 300

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SeriesCollection.NewSer ies
ActiveChart.SeriesCollection(1).Nam e = _
"='Sales_discounts_standart_sta rt '!$B$" & i 'клиент
ActiveChart.SeriesCollection(1).XVa lues = _
"='Sales_discounts_standart_sta rt '!$A$" & i ' скидка
ActiveChart.SeriesCollection(1).Val ues = _
"='Sales_discounts_standart_sta rt '!$C$" & i 'сумма продажи
next

Возможно что то немного напутал со знаками " или ' но поробуйте должно работать секунд 10

end sub
gluk_fm вне форума Ответить с цитированием
Старый 19.08.2011, 22:04   #5
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
По умолчанию

блин, не получается :

я не очень силен в этих макросах, подкорректировал ваш, но он тупо добавляет 50 разных графиков, но правда делает именно то, что нужно...в один бы...

Цитата:
Sub tt()

For i = 1 To 50 Step 1

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SeriesCollection.NewSer ies
ActiveChart.SeriesCollection(1).Nam e = _
"='Sales_discounts_standart_sta rt '!$B$" & i
ActiveChart.SeriesCollection(1).XVa lues = _
"='Sales_discounts_standart_sta rt '!$A$" & i
ActiveChart.SeriesCollection(1).Val ues = _
"='Sales_discounts_standart_sta rt '!$C$" & i

Next i

End Sub

Последний раз редактировалось Exo; 19.08.2011 в 22:22.
Exo вне форума Ответить с цитированием
Старый 20.08.2011, 16:33   #6
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
По умолчанию

друзья, выручайте пожалуйста!
Exo вне форума Ответить с цитированием
Старый 21.08.2011, 23:21   #7
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Exo Посмотреть сообщение
друзья, выручайте пожалуйста!
UP......
Exo вне форума Ответить с цитированием
Старый 22.08.2011, 00:03   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я бы побаловался - но так лениво табличку делать....
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.08.2011, 09:18   #9
Exo
Форумчанин
 
Аватар для Exo
 
Регистрация: 25.09.2007
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Я бы побаловался - но так лениво табличку делать....
пожалуйста
Вложения
Тип файла: zip test .zip (8.5 Кб, 15 просмотров)
Exo вне форума Ответить с цитированием
Старый 22.08.2011, 09:57   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я вероятно чего-то не понял (или потому, что тут нет 2007 Экселя), но при наведении на точку видно еще и название компании, без всяких ухищрений.
Вложения
Тип файла: zip Copy of Xl0000011.zip (11.2 Кб, 18 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ER-диаграмма Альбиша SQL, базы данных 0 15.06.2010 17:28
диаграмма ppupil Паскаль, Turbo Pascal, PascalABC.NET 2 12.06.2010 11:11
диаграмма rogvald Общие вопросы C/C++ 1 19.05.2010 17:12
Диаграмма skiffter Компоненты Delphi 18 13.10.2009 20:18
Диаграмма Людмилка Microsoft Office Excel 0 24.10.2008 06:51