Сергей Плоткин Опубликовано 19 марта, 2005 Жалоба Поделиться Опубликовано 19 марта, 2005 Упрощенная задача такова: 1) На листе Excel есть таблица, состоящая из двух столбцов "Название продукта" и "Количество", данные для которой берутся из БД MSSQL посредством функции Excel "Данные->Импорт внешних данных" (используется сложный SQL-запрос к определенной таблице БД) 2) На основе этой таблицы создана круговая диаграмма. 3) Продукты в БД добавляются постоянно => их становится все больше. Вопрос: Возможно ли каким-либо образом упростить процесс изменения диаграммы, т.к. после каждого изменения количества продуктов, приходится изменять в диаграмме диапазон данных. Изменять диапазон для одной диаграммы не составляет никакого труда, однако подобных таблиц и диаграмм крайне много и хотелось бы, чтобы диапазон для диаграммы напрямую зависел бы от количества заполненных строк в таблице или каким-либо образом автоматически изменялся бы, в зависимости от количества возвращенных SQL-сервером строк. P.S. Хотелось бы знать, возможно ли это средствами Excel, т.к. написание макроса - крайний вариант. Если по-другому нельзя, тогда уж придется писать макрос. Ссылка на комментарий Поделиться на другие сайты Поделиться
matva Опубликовано 19 марта, 2005 Жалоба Поделиться Опубликовано 19 марта, 2005 Сергей Плоткин Если информация не секретная, то скинь и файл Excel и БД (хотя она наверное размера нихилого, но повыкидывай что не нужно.) Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Плоткин Опубликовано 20 марта, 2005 Автор Жалоба Поделиться Опубликовано 20 марта, 2005 matva Не совсем понял, зачем?.. Мне нужна подсказка, а за меня делать ничего не надо. Ссылка на комментарий Поделиться на другие сайты Поделиться
lenich Опубликовано 20 марта, 2005 Жалоба Поделиться Опубликовано 20 марта, 2005 (изменено) Не совсем понял, зачем?.. Мне нужна подсказка, а за меня делать ничего не надо. Сергей Плоткин Ну если только подсказка, то попробуй с помощью VBA :) А если серьёзно, то порядок работы программы (которая запускается в екселе) я бы сделал следующим: 1. Импорт данных из БД 2. Сравнение с уже имеющимися 3. Добавление (или полная замена) записей в таблицу 4. Создание диаграммы. Сергей Плоткин, если какой-то конкретный пункт не ясен пиши. Изменено 20 марта, 2005 пользователем lenich Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Плоткин Опубликовано 20 марта, 2005 Автор Жалоба Поделиться Опубликовано 20 марта, 2005 lenich попробуй с помощью VBA Ответ в стиле: - В какой программе смотреть видео, кроме Media Player? - Попробуй Media Player Ссылка на комментарий Поделиться на другие сайты Поделиться
lenich Опубликовано 20 марта, 2005 Жалоба Поделиться Опубликовано 20 марта, 2005 Сергей Плоткин Дык об этом и речь, что кроме как на VBA - никак! А чтоб быстрее написать код нужны как раз файлы экселя и БД. :) о чем Вас и просил matva Ссылка на комментарий Поделиться на другие сайты Поделиться
matva Опубликовано 20 марта, 2005 Жалоба Поделиться Опубликовано 20 марта, 2005 Сергей Плоткин Ну так? Бум слать файлы или нет? :sm(100): Никто за тебя твою работу делать не собирается! (своей хватает) А вот принцип действий подсказать - всегда пжалста! :sm(100): Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Плоткин Опубликовано 20 марта, 2005 Автор Жалоба Поделиться Опубликовано 20 марта, 2005 Всем большое спасибо - я уже разобрался... Уже понял, что без написания макроса - никуда. Воспользовался свойством листа UsedRange. Сделал примерно так: ActiveChart.SetSourceData Source:=Sheets("Лист1").UsedRange lenich 1) Когда я писал тебе иронический ответ, твое сообщение было несколько другим. Функция редактирования своих постов создана не для того, чтобы менять их после того, как был получен ответ собеседника. 2) Мне посоветовали более простой способ, нежели способ в дополненном тобой посте, однако все равно спасибо. matva Я разве просил делать работу за меня? Зачем валить с больной головы на здоровую? Я напротив просил дать мне устный совет или рекоммендацию (принцип действий). Вот, именно выслав свой XLS-файл и файл БД, - это было бы как раз больше похоже на просьбу "сделать все за меня". Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти