Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.09.2004, 17:51
|
|||
---|---|---|---|
Как программно обрабатывать данные в таблицах? |
|||
#18+
Показалось не совсем рациональным с точки зрения затрат времени и размера файла обрабатывать элементы данных в электронных таблицах путем записи практически одинаковых выражений и функций в отдельные клетки и особенно в целые строки и столбцы. Хотелось бы научиться обрабатывать данные в таблице (поименованной области) с помощью программного кода. Учиться лучше на конкретном примере, например на таком. Автоматическое выявление большего количества наилучших значений свойств у той или иной модели монитора. Ниже приводится собственно сам пример – в виде таблицы или поименованной области. (См. приложение “CountParameters.xls”) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Новую сравниваемую модель монитора записывать в столбец: - лучше, в новый столбец справа, от последнего заполненного, -либо слева, перед последним столбцом (он предполагается всегда быть пустым) входящим в поименованную область Число оценочных параметров (строк) в колонке В, также как и число моделей (новые колонки) со временем может увеличиваться, т.е. поименованная область изменяется в размерах. Можно ли диапазон клеток, в котором находится таблица после ввода новой строки и особенно нового столбца справа определять автоматически или надо каждый раз изменять размер поименованной области? В колонку Признак Мин/.Мах предварительно, при вводе очередного параметра, вручную записывается признак как оценивать параметр - Мин или Мах: Например, для цены это Мин (хочется купить подешевле), для яркости – это Мах (желательно, чтобы был поярче) и т.д. Лучший параметр, после ввода в таблицу значений для новой модели должен попадать в колонку Лучшее значение, в своей колонке для данного параметра он должен также выделяться для наглядности желтым цветом, и кроме того в клетке «Итого, лучших» - должно вычисляться /пересчитываться число лучших параметров для каждой модели и выделяться желтым цветом, а м число наилучших параметров у лучшей модели должно выделяться красным цветом.. В приведенном файле Excel имеются выражения и функции: -в колонке «Лучшие значения», например, для D5: =ЕСЛИ(C5="Мах";МАКС(E5:H5);МИН(E5:H5)) -в строке «Итого, лучших», например, для D11 =nColorCells(D5:D10) -эту функцию нашел в одной из тем. Вот именно эти выражения и функции хотелось бы не записывать в каждую клетку, а обработать программно. Кто-нибудь подскажет: -как это делается, -с чего начинать, -может, есть что-либо почитать (лучше в Интернет) по программированию для Excel-таблиц? Или на примере – научит? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.09.2004, 04:41
|
|||
---|---|---|---|
Как программно обрабатывать данные в таблицах? |
|||
#18+
что касается программного доступа к ячейкам листа Ёкселя, то я на пример использую такие выражения: доступ к значению активной ячейки(на которой стоит курсор ввода) - Activecell.Value доступ к формуле активной ячейки(на которой стоит курсор ввода) - Activecell.Formula и так далее... можно использовать абсолюный метод адресации: например увидеть значение ячейки А1 можно так: Sub test MsgBox Range("a1").Value End Sub или так относительный метод Sub test MsgBox Cells(1,1).Value End Sub Кстати самый лучший способ изучения VBA для начинающего, это записывать макросы, а потом просматривать их исходный текст сформированный Ёкселем... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&tablet=1&tid=2186601]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 176ms |
0 / 0 |