2010-08-28 5 views
0

У меня есть в поле Excel (созданное кем-то) формула, содержащая массив:
=PERCENTILE(Scale1, 0.5).
Мне нужно развернуть этот массив в другие поля.Объявление массива в Excel VBA

Обычно массив представляет собой диапазон, как A1:C52, поэтому расширения означает изменение формулы, скажем A1:C152.

Но это «Масштаб1», даже если я могу видеть его границу в синем цвете, я не могу изменить его диапазон.

Я попытался найти, где этот «Масштаб1» определен, но безуспешно. Кто-нибудь знает, как его изменить?

(я не могу просто заменить «Scale1» с A1: C152, потому что «Scale1» используется в нескольких местах ...)

ответ

2

Это звучит как Сомон использовала имена. Вы можете изменить их в интерактивном режиме в пользовательском интерфейсе:

  • Перейти к формул Вкладка/ленты
  • Нажмите на Имя менеджера
  • Выберите Scale1
  • Изменение диапазона в текстовое поле в нижней части
  • Нажмите Закрыть

(В Excel 2003 аналогичный диалог можно открыть с помощью «Name> Define ...» (в меню Вставить).

или с помощью VBA:

ThisWorkbook.Names("Scale1").RefersTo = "Table1!$A$1:$C$152" 
+0

Я искал в формулах Excel и в коде проекта VBA для «Масштаб1», но ничего не нашел ... где я должен искать замену 54 => 152? – serhio

+0

Теперь я в замешательстве. Я понял, что несколько формул содержат «Scale1». Но теперь вы говорите, что не можете найти его. Итак, где именно в Excel вы видите «Scale1»? – Codo

+0

Я имею в виду, я могу использовать его (Scale1) в формулах полей excel, но не его «определение». – serhio

0

Если вы используете Excel 2007/2010, вы можете открыть содержимое XML в XLSX документа. Ищите «Scale1» таким образом. Для этого в коде используйте API-интерфейсы OpenXML.

Получение значения Excel ячейки: http://msdn.microsoft.com/en-us/library/bb332058%28office.12%29.aspx

Похожий вопрос на перерасчета формулах: OpenXML SDK: Make Excel recalculate formula

Наконец, если вам нужно сделать это в VBA, я нашел эту статью на редактирование элементов, но не пробовал это: http://www.jkp-ads.com/articles/Excel2007FileFormat02.asp

Для Excel 2003 вы можете установить Compatibility Pack, который позволит Office 2003 открывать, редактировать, сохранять и создавать файлы с использованием новых форм Open XML для системы Microsoft Office 2007.

+0

Я использую Excel 2003 – serhio

+0

Я добавил ссылку выше, чтобы Excel 2003 мог работать с файлами 2007/2010. Попробуйте это, чтобы увидеть, сможете ли вы просмотреть информацию, которую ищете. –

0

В Excel 2003 менеджер имен находится в папке «Вставка | Имя | Определить».

Смежные вопросы