Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Диаграмма с Зумом и Прокруткой - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Диаграмма с Зумом и Прокруткой
Vostok Дата: Воскресенье, 01.02.2015, 13:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Многим известен тип Диаграмм - с Зумом и Прокруткой. Хотел реализовать подобный тип Диаграмм на уровне VBA, но с одной прокруткой.

Создал ряд именованных формул. Но добавить их в код построения диаграммы не получается. Примеров нет. В Сети всё об одном - на уровне интерфейса Excel и не более того. Может кто сталкивался, буду признателен. Шаблон прилагается.
Оговорюсь ещё раз, прокрутку в код не вносил для простоты шаблона. Интересует только Корректность вставки в код именованных формул.
К сообщению приложен файл: InvestingChart.xlsm (54.9 Kb)


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Воскресенье, 01.02.2015, 13:09
 
Ответить
СообщениеМногим известен тип Диаграмм - с Зумом и Прокруткой. Хотел реализовать подобный тип Диаграмм на уровне VBA, но с одной прокруткой.

Создал ряд именованных формул. Но добавить их в код построения диаграммы не получается. Примеров нет. В Сети всё об одном - на уровне интерфейса Excel и не более того. Может кто сталкивался, буду признателен. Шаблон прилагается.
Оговорюсь ещё раз, прокрутку в код не вносил для простоты шаблона. Интересует только Корректность вставки в код именованных формул.

Автор - Vostok
Дата добавления - 01.02.2015 в 13:08
_Boroda_ Дата: Воскресенье, 01.02.2015, 14:03 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Интересует только Корректность вставки в код именованных формул

Вам это нужно?
[vba]
Код
ss = WorksheetFunction.VLookup([C6], Range("Диапазон_1"), 2, 0)
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Интересует только Корректность вставки в код именованных формул

Вам это нужно?
[vba]
Код
ss = WorksheetFunction.VLookup([C6], Range("Диапазон_1"), 2, 0)
[/vba]

Автор - _Boroda_
Дата добавления - 01.02.2015 в 14:03
Vostok Дата: Воскресенье, 01.02.2015, 14:33 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Корректность вставки в код именованных формул.

В код построения Диаграмм. А ВПР тут при чём?


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"
 
Ответить
Сообщение
Корректность вставки в код именованных формул.

В код построения Диаграмм. А ВПР тут при чём?

Автор - Vostok
Дата добавления - 01.02.2015 в 14:33
_Boroda_ Дата: Воскресенье, 01.02.2015, 15:06 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Да какая разница? Это пример вставки именованного диапазона: Range("Диапазон_1")
Если нужно в Ваш код вставить, то обозначьте в самом коде нужное место, чтобы не нужно было лазать по всему коду и искать то, что Вам нужно.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа какая разница? Это пример вставки именованного диапазона: Range("Диапазон_1")
Если нужно в Ваш код вставить, то обозначьте в самом коде нужное место, чтобы не нужно было лазать по всему коду и искать то, что Вам нужно.

Автор - _Boroda_
Дата добавления - 01.02.2015 в 15:06
Vostok Дата: Воскресенье, 01.02.2015, 15:17 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Если нужно в Ваш код вставить, то обозначьте в самом коде нужное место
Да если бы я знал, стал бы я тут вопросами народ мучить? :-) А что там лазить? Там всё же видно отлично. Три строки формирования рядов, их и надо заменить. Вот выделил области куда надо вставить код, заменив вышестоящий. Но это мне так кажется, я не уверен, что это правильное решение и оно будет работать. У меня не получается.



"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Понедельник, 02.02.2015, 09:06
 
Ответить
Сообщение
Если нужно в Ваш код вставить, то обозначьте в самом коде нужное место
Да если бы я знал, стал бы я тут вопросами народ мучить? :-) А что там лазить? Там всё же видно отлично. Три строки формирования рядов, их и надо заменить. Вот выделил области куда надо вставить код, заменив вышестоящий. Но это мне так кажется, я не уверен, что это правильное решение и оно будет работать. У меня не получается.


Автор - Vostok
Дата добавления - 01.02.2015 в 15:17
_Boroda_ Дата: Воскресенье, 01.02.2015, 16:46 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Тезка, если честно, я не очень понимаю, что Вы хотите. У меня (на Excel 2010) Ваш код работает.
Возможно, Вам нужно что-то типа вот этого:
если Вы вставляете в диаграмму имена в ряды и категории, то, если это имена в области книги, то нужно перед ним поставить еще название книги с !, а если это имена области листа, то название листа с !.
Типа вот так:
[vba]
Код
ActiveChart.SeriesCollection(1).XValues = "==InvestingChart.xlsm!Дата"
ActiveChart.SeriesCollection(3).Values = "==InvestingChart.xlsm!Close_2Y"
[/vba]
Топните на зеленую линию и посмотрите в строку формул - там будут имена.
Кстати, поменял у Вас имя Close_2Y, чтобы можно было и вручную проверить - формулы листа не понимают, что такое cells.
К сообщению приложен файл: InvestingChart_.xlsm (54.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТезка, если честно, я не очень понимаю, что Вы хотите. У меня (на Excel 2010) Ваш код работает.
Возможно, Вам нужно что-то типа вот этого:
если Вы вставляете в диаграмму имена в ряды и категории, то, если это имена в области книги, то нужно перед ним поставить еще название книги с !, а если это имена области листа, то название листа с !.
Типа вот так:
[vba]
Код
ActiveChart.SeriesCollection(1).XValues = "==InvestingChart.xlsm!Дата"
ActiveChart.SeriesCollection(3).Values = "==InvestingChart.xlsm!Close_2Y"
[/vba]
Топните на зеленую линию и посмотрите в строку формул - там будут имена.
Кстати, поменял у Вас имя Close_2Y, чтобы можно было и вручную проверить - формулы листа не понимают, что такое cells.

Автор - _Boroda_
Дата добавления - 01.02.2015 в 16:46
Vostok Дата: Понедельник, 02.02.2015, 06:39 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Тезка, если честно, я не очень понимаю, что Вы хотите.

Я хотел, чтобы было всё как с зелёной линией. Таблица включает например 100 записей, но на экран Диаграммы, если его можно так назвать, выводится только, к примеру, 30 дат. Остальные даты и точки всех рядов Диаграммы можно будет посмотреть с помощью полосы прокрутки.



И реализовывается всё это на уровне кода VBA:

Диаграммы будут строится в цикле по 26 таблицам вот в такие ряды:
Поэтому и нужна была полная автоматизация.
Но теперь другая проблема высвечивается. Ведь всё пойдёт циклом, а значит для каждой таблицы придётся свои именованные формулы создавать, а значит в эти формулы нужно будет подставлять данные через элементы массива. Вот как эти формулы, и функция СМЕЩ в частности примет подстановку через элемент массива- ОПЯТЬ НЕИЗВЕСТНОСТЬ.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Понедельник, 02.02.2015, 08:59
 
Ответить
Сообщение
Тезка, если честно, я не очень понимаю, что Вы хотите.

Я хотел, чтобы было всё как с зелёной линией. Таблица включает например 100 записей, но на экран Диаграммы, если его можно так назвать, выводится только, к примеру, 30 дат. Остальные даты и точки всех рядов Диаграммы можно будет посмотреть с помощью полосы прокрутки.



И реализовывается всё это на уровне кода VBA:

Диаграммы будут строится в цикле по 26 таблицам вот в такие ряды:
Поэтому и нужна была полная автоматизация.
Но теперь другая проблема высвечивается. Ведь всё пойдёт циклом, а значит для каждой таблицы придётся свои именованные формулы создавать, а значит в эти формулы нужно будет подставлять данные через элементы массива. Вот как эти формулы, и функция СМЕЩ в частности примет подстановку через элемент массива- ОПЯТЬ НЕИЗВЕСТНОСТЬ.

Автор - Vostok
Дата добавления - 02.02.2015 в 06:39
Vostok Дата: Понедельник, 02.02.2015, 08:56 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Кстати, поменял у Вас имя Close_2Y, чтобы можно было и вручную проверить - формулы листа не понимают, что такое cells

Вот эта фраза реально мозги осветила. Cells я использовал для определения точки отчёта для функции СМЕЩ. Её так везде описывают , что в голове прописывается то, что это должна быть непременно какая -то точка отсчёта. Тут и погорел.
если Вы вставляете в диаграмму имена в ряды и категории, то, если это имена в области книги, то нужно перед ним поставить еще название книги с !
Да и этого нигде не найдёшь, а книг я уж перечитал предостаточно.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Понедельник, 02.02.2015, 09:05
 
Ответить
Сообщение
Кстати, поменял у Вас имя Close_2Y, чтобы можно было и вручную проверить - формулы листа не понимают, что такое cells

Вот эта фраза реально мозги осветила. Cells я использовал для определения точки отчёта для функции СМЕЩ. Её так везде описывают , что в голове прописывается то, что это должна быть непременно какая -то точка отсчёта. Тут и погорел.
если Вы вставляете в диаграмму имена в ряды и категории, то, если это имена в области книги, то нужно перед ним поставить еще название книги с !
Да и этого нигде не найдёшь, а книг я уж перечитал предостаточно.

Автор - Vostok
Дата добавления - 02.02.2015 в 08:56
Vostok Дата: Понедельник, 02.02.2015, 10:58 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Вот как эти формулы, и функция СМЕЩ в частности примет подстановку через элемент массива- ОПЯТЬ НЕИЗВЕСТНОСТЬ.

Здесь оказалось всё не так сложно, даже не ожидал:

А вот как, к примеру, вставить имя формулы Data, которое для конкретной таблицы будет выглядеть - xBufferName(i) & "_Data" в код типа:
[vba]
Код
      With .SeriesCollection(1)
                 .XValues = "=InvestingComHD.xlsm!Data"
[/vba]
Тут на синтаксисе можно ноги переломать, если не знать точно.


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Понедельник, 02.02.2015, 11:02
 
Ответить
Сообщение
Вот как эти формулы, и функция СМЕЩ в частности примет подстановку через элемент массива- ОПЯТЬ НЕИЗВЕСТНОСТЬ.

Здесь оказалось всё не так сложно, даже не ожидал:

А вот как, к примеру, вставить имя формулы Data, которое для конкретной таблицы будет выглядеть - xBufferName(i) & "_Data" в код типа:
[vba]
Код
      With .SeriesCollection(1)
                 .XValues = "=InvestingComHD.xlsm!Data"
[/vba]
Тут на синтаксисе можно ноги переломать, если не знать точно.

Автор - Vostok
Дата добавления - 02.02.2015 в 10:58
Vostok Дата: Вторник, 03.02.2015, 10:20 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 211
Репутация: 1 ±
Замечаний: 40% ±

Excel 2010
Тут на синтаксисе можно ноги переломать, если не знать точно.
Решение вопроса при использования цикла при построении серии диаграмм:


"Посылая кого-то в Google, Помните, завтра туда могут Послать Вас !"

Сообщение отредактировал Vostok - Вторник, 03.02.2015, 11:50
 
Ответить
Сообщение
Тут на синтаксисе можно ноги переломать, если не знать точно.
Решение вопроса при использования цикла при построении серии диаграмм:

Автор - Vostok
Дата добавления - 03.02.2015 в 10:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!