|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2009, 16:33 | #1 |
Новичок
Джуниор
Регистрация: 30.05.2009
Сообщений: 5
|
Обработка массива ячеек в памяти
Как обработать массив ячеек в памяти следующим образом:
1. Выделяем массив, в котором есть объединенные ячейки. 2. Ищем числовые значения в столбцах. 3. Запрашиваем у пользователя коэффициенты для формулы 4. Берем числовые значения пересчитываем их по формуле с коэффициентами, которые указал пользователь 5. Спрашиваем куда вставить 6. Вставляем результат пересчета ========== От себя добавлю: процедуру выделения ячеек и копирования диапазона в память я написал - код во вложении. А как дальше? Просто много литературы, везде разные подходы.... И нет ясного (для меня) ответа. 1. как запросить коефициенты? 2. как пересчитать значения? 3. как вставить вроде понятно - но в том коде, что я написал - не работает |
30.05.2009, 17:09 | #2 | ||||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Запросить-то можно как угодно. Как именно - решать только Вам. А мы лишь сможем посоветовать, как реализовать конкретный способ запроса. Цитата:
Код:
Цитата:
Другое дело - если считать значения в массив (командой типа arr = UserRange.Value, в результате чего получаем двумерный массив arr), а потом перебирать значения массива, но в Вашем случае можно обойтись без этого (поскольку объём данных небольшой) Вы же копируете содержимое диапазона ячеек в буфер обмена, что нисколько не поспособствует облегчению обработки данных. Цитата:
Если бы таких ячеек не было, код бы получился намного проще. |
||||
30.05.2009, 19:21 | #3 |
Новичок
Джуниор
Регистрация: 30.05.2009
Сообщений: 5
|
Спасибо!
Вы немного помогли, спасибо, кое что прояснили. Вы простите если я что-то не так спрашиваю - я ж только начинающий .... у Вас знаний на 100 таких как я ....
1. Форма то есть, но толку с нее нет - я не знаю как ее вызывать в коде макроса 2. Процедуру "For07day" я написал, но в ней коэффициенты заданы жестко, а надо чтоб через форму их можно было менять - там три коэффициента - k1 = 1,1 to 1,9, d1 = 1 to 21, s1 = 60 to 70 и формула выходит такая: Cell = Cell * k1 * d1 + s1 3. Допустим пока обойдемся без объединеных ячеек - как написать процедуру так, чтобы пользователь: а. указывал исходные значения б. задавал коэффициенты через форму в. мог вставить готовый результат куда ему угодно? ------------ Я понимаю, что много вопросов, помогите хоть по одному.... Спасибо! |
30.05.2009, 20:10 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Вот сделал для примера такой вариант:
Теперь кпопка выбора диапазона не нужна (хотя она присутствует, и работает) - выделять нужный диапазон можно как до, так и после запуска формы (не нажимая на кнопку Задать область) Формулу подредактировал. Заменил поля ввода на выпадающие списки. Цитата:
|
|
30.05.2009, 20:21 | #5 |
Новичок
Джуниор
Регистрация: 30.05.2009
Сообщений: 5
|
СПАСИБО!
Вау!!!! Круто!! Спасибо приогромное, буду изучать.
СПАСИБО! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сложение двух ячеек памяти | Megapixar | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 14.05.2009 11:20 |
Обработка массива макросом | Иванов_ДМ | Microsoft Office Excel | 8 | 18.04.2009 23:04 |
Обработка содержимого ячеек - отчистка от мусора | Bromista | Microsoft Office Excel | 10 | 17.04.2009 11:39 |
обработка массива, с++ | lusuj | Помощь студентам | 2 | 11.11.2008 19:27 |
Обработка вещественного массива | Painsector | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 10.12.2007 19:48 |