Как да изградя диаграма в excel, така че изходният файл, съдържащ данни, да може да се променя интерактивно?

Имам директория с много excel файлове с числови данни. Във всеки файл данните са подредени по един и същи начин (същите имена на колони и т.н.). Интересувам се да създам интерактивна диаграма, която ще показва данните според избраното име на файл. Например, името на файла ще бъде избрано от списъка за валидиране в падащо меню. Въпросът е как да задам диапазона от данни в диаграмата, така че да се променя според името на файла, който избера.

Работя с excel 2010 и нямам много опит с програмирането на VBA :( Благодаря много, Саша


person Sasha    schedule 22.07.2011    source източник
comment
Благодаря за този коментар, не забелязах тази опция. Преди това благодарих на човек, който ми помогна най-много в коментари като този.   -  person Sasha    schedule 22.07.2011
comment
ето как работи stackoverflow (и между другото работи добре :)) - трябва да погледнете и често задавани въпроси   -  person JMax    schedule 22.07.2011


Отговори (1)


Е, просто решение (може да има по-елегантни начини, но това е първият намек):

  1. Копирайте данните от вашите файлове в листовете на вашата работна книга, можете да създавате препратки (вижте тук) или автоматизирайте копията чрез макроси (само STFW)
  2. Създайте своя списък за валидиране (например в Sheet1, клетка A1). Да приемем, че този списък съдържа: DataSource1, DataSource2, DataSource3.
  3. Създайте Наименуван диапазон за всеки друг лист, който имате, и използвайте същото име като това във вашия списък (DataSource1, DataSource2, DataSource3)
  4. В източника на стойностите на диаграмата използвайте тази формула: =INDIRECT(Sheet1!$A$1)

Следователно Excel ще преведе източника в именувания диапазон.
Вероятно бихте могли да намерите решения и с vba в зависимост от вашите нужди.

За разбирането,

person JMax    schedule 22.07.2011
comment
JMax, благодаря ти за отговора. Копирането на файловете в един файл обаче не е практично в моя случай. Всеки файл съдържа около 3 MB данни и има няколко стотици от тези файлове. Освен това нови данни се добавят към всеки файл ежедневно. По този начин търся решение, което ще ми позволи да изтегля данните от файловете, без да ги агрегирам в един файл. Сега чета за функцията indirect.ext (dailydoseofexcel .com/archives/2004/12/01/). Има шанс да помогне... - person Sasha; 22.07.2011
comment
@Sasha: не виждам лесен начин за създаване на диаграма с данни от затворена работна книга без дори копиране или поне препращане към данни (с INDIRECT или VBA) в другите листове на работната книга, съдържащи Графика. Моля, не се колебайте да публикувате отговор, ако намерите решение. - person JMax; 25.07.2011