![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись данных в Excel. Как найти заданную пользователем ячейку? [D7, WinXP]
Vidi © (2010-12-30 15:55:00)Друзья, вопрос в следующем: нужен какой-то аналог Закладок из MS Word или что-то в этом духе.
Задача: по определенным пользователями полям экспортировать данные в Excel.
Пример: пользователь делает шаблон и в нужной ему ячейке пишет что-то типа <здесь будет цена> и т.п.
Т.е. я заранее не знаю, где эта ячейка будет размещена.
В ворде есть замечательная вещь: Закладки, к которым можно обратиться по имени. В Excel я такой штуки не нашел.
Как быть?
Сергей М. (2011-01-03 22:01:00) [1]
> так это же я сам
Ну так если ты укурился когда именовал диапазоны, то какие к нам-то претензии ?)
Ехель (2011-01-02 13:38:00) [2]что значит не отображаются?
"Нигде толкомне отображается" значит, что глядя на экран монитора, ты не видишь расположение всех именованных диапазонов явно и одновременно. Не WYSIWYG, то есть.
в левом верхнем комбобоксе их полный список.
Такой список "особенно удобен" при сотне-другой именованных диапазонов. Смотришь, значит, на документ, и, желая найти ячейку с общей суммой по счету, телепатируешь, и решаешь, что называется эта ячейка никак не иначе, как TotalAmount... или AmountTotal?... кхм... TotalSum?... SumTotal?... Total?... Sum?... йо!... какой *** назвал ее SummaItogo?!... хех... так это же я сам. :о(
И так с каждой ячейкой...
Не говоря уже про то, что минимальный уровень абстракции в таком случае - целая ячейка. То есть, пользователю не получится вручную прописать в одной ячейке что-то наподобие:
#(TotalAmount)# #(Currency)# (#(AmountInWords)#) _________#(ManagerName)#
То есть, при применении именованных диапазонов, такие конструкции придется жестко прописывать в коде программы:
Range.FormulaR1C1 := TotalAmount + ' ' + Currency + ' (' + AmountInWords) + ') _____________ ' + ManagerName;
и при выборе в комбо диапазон фокусируется
Я не знаю, что ты имеешь в виду под "фокусируется", а как по мне, так диапазон в таком случае просто выделяется обычной рамочкой выделения. Шаг вправо, шаг влево - и ты уже потерял выделение. Не помнишь, где оно только что было?
Кроме того, попробуй создать именованный диапазон "234", только не плачь, хорошо?
Медвежонок ХМЛ (2010-12-30 16:57:00) [3]что значит не отображаются?
в левом верхнем комбобоксе их полный список.
и при выборе в комбо диапазон фокусируется.
Ехель (2010-12-30 16:52:00) [4]Именованные диапазоны хороши, но, увы, они толком никак не отображаются. То есть, для редактирования не очень удобны.
Кроме того, в одной ячейке может быть несколько "чего-то типа <здесь будет цена>".
Простое решение - выбрать какой-то свой тег, со специфической сигнатурой, а затем по сигнатуре искать теги и заменять. Например, #(Price)#, где #( и )# - начальные и конечные сигнатуры, а Price - тег. Искать теги удобно родным поиском Excel по маске.
А именованные диапазоны хороши для посекционного формирования отчетов: заголовок, строки в цикле, подпись.
Медвежонок ХМЛ (2010-12-30 16:31:00) [5]а в йокселе есть именованные диапазоны. а в диапазоне может быть конкретная ячейка.