Сергей Плоткин Posted March 19, 2005 Report Share Posted March 19, 2005 Упрощенная задача такова: 1) На листе Excel есть таблица, состоящая из двух столбцов "Название продукта" и "Количество", данные для которой берутся из БД MSSQL посредством функции Excel "Данные->Импорт внешних данных" (используется сложный SQL-запрос к определенной таблице БД) 2) На основе этой таблицы создана круговая диаграмма. 3) Продукты в БД добавляются постоянно => их становится все больше. Вопрос: Возможно ли каким-либо образом упростить процесс изменения диаграммы, т.к. после каждого изменения количества продуктов, приходится изменять в диаграмме диапазон данных. Изменять диапазон для одной диаграммы не составляет никакого труда, однако подобных таблиц и диаграмм крайне много и хотелось бы, чтобы диапазон для диаграммы напрямую зависел бы от количества заполненных строк в таблице или каким-либо образом автоматически изменялся бы, в зависимости от количества возвращенных SQL-сервером строк. P.S. Хотелось бы знать, возможно ли это средствами Excel, т.к. написание макроса - крайний вариант. Если по-другому нельзя, тогда уж придется писать макрос. Link to comment Share on other sites More sharing options...
matva Posted March 19, 2005 Report Share Posted March 19, 2005 Сергей Плоткин Если информация не секретная, то скинь и файл Excel и БД (хотя она наверное размера нихилого, но повыкидывай что не нужно.) Link to comment Share on other sites More sharing options...
Сергей Плоткин Posted March 20, 2005 Author Report Share Posted March 20, 2005 matva Не совсем понял, зачем?.. Мне нужна подсказка, а за меня делать ничего не надо. Link to comment Share on other sites More sharing options...
lenich Posted March 20, 2005 Report Share Posted March 20, 2005 (edited) Не совсем понял, зачем?.. Мне нужна подсказка, а за меня делать ничего не надо. Сергей Плоткин Ну если только подсказка, то попробуй с помощью VBA :) А если серьёзно, то порядок работы программы (которая запускается в екселе) я бы сделал следующим: 1. Импорт данных из БД 2. Сравнение с уже имеющимися 3. Добавление (или полная замена) записей в таблицу 4. Создание диаграммы. Сергей Плоткин, если какой-то конкретный пункт не ясен пиши. Edited March 20, 2005 by lenich Link to comment Share on other sites More sharing options...
Сергей Плоткин Posted March 20, 2005 Author Report Share Posted March 20, 2005 lenich попробуй с помощью VBA Ответ в стиле: - В какой программе смотреть видео, кроме Media Player? - Попробуй Media Player Link to comment Share on other sites More sharing options...
lenich Posted March 20, 2005 Report Share Posted March 20, 2005 Сергей Плоткин Дык об этом и речь, что кроме как на VBA - никак! А чтоб быстрее написать код нужны как раз файлы экселя и БД. :) о чем Вас и просил matva Link to comment Share on other sites More sharing options...
matva Posted March 20, 2005 Report Share Posted March 20, 2005 Сергей Плоткин Ну так? Бум слать файлы или нет? :sm(100): Никто за тебя твою работу делать не собирается! (своей хватает) А вот принцип действий подсказать - всегда пжалста! :sm(100): Link to comment Share on other sites More sharing options...
Сергей Плоткин Posted March 20, 2005 Author Report Share Posted March 20, 2005 Всем большое спасибо - я уже разобрался... Уже понял, что без написания макроса - никуда. Воспользовался свойством листа UsedRange. Сделал примерно так: ActiveChart.SetSourceData Source:=Sheets("Лист1").UsedRange lenich 1) Когда я писал тебе иронический ответ, твое сообщение было несколько другим. Функция редактирования своих постов создана не для того, чтобы менять их после того, как был получен ответ собеседника. 2) Мне посоветовали более простой способ, нежели способ в дополненном тобой посте, однако все равно спасибо. matva Я разве просил делать работу за меня? Зачем валить с больной головы на здоровую? Я напротив просил дать мне устный совет или рекоммендацию (принцип действий). Вот, именно выслав свой XLS-файл и файл БД, - это было бы как раз больше похоже на просьбу "сделать все за меня". Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now