|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2009, 12:56 | #1 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
защита формулы при перемещении аргумента
Проблема: Необходимо запретить само-изменение формулы при копировании одной из ячеек-параметров (с помощью "защиты ячейки" не получается).
Пример: Формула A1=A2+A3, если вырезать A3 и вставить в A4, то формула превратиться в A1=A2+A4, а нужно чтобы она оставалась исходной (значение А3 соответственно становится нулем/пустотой) |
29.10.2009, 13:59 | #2 |
Форумчанин
Регистрация: 05.08.2009
Сообщений: 465
|
При создании формулы, содержащей ссылку на ячейку, эта ссылка обновляется, если:
1) ячейка была перемещена с помощью команды Вырезать (т. е. удалена) 2) перемещение ячейки произошло в результате вставки или удаления строк или столбцов. Если требуется, чтобы формула всегда ссылалась на одну и ту же ячейку, независимо от удаления расположенных над нею строк или перемещения ячеек, воспользуйтесь функцией ДВССЫЛ. Для приведенного примера: А1=ДВССЫЛ("A2")+ДВССЫЛ("A3")
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
|
29.10.2009, 15:16 | #3 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
Спасибо. для приведенного примера действительно работает.
Но для моего частного случая увы нет: =ДВССЫЛ("ЕСЛИ(A1=1;1;0)") зы. Мне тут подсказали, что в доллары можно заключить A1 и тогда ссылка при вырезании меняться не будет. Но вот беда, мне это не единожды нужно, а "растянуть" формулу на десятки ячеек, а потом заблокировать получившееся, чтоб не менялось. Последний раз редактировалось tohdom; 29.10.2009 в 15:26. |
29.10.2009, 16:09 | #4 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
Вариант номер два - через макрос - нид хелп
For i = 5 To 7 For j = 5 To 7 Cells(i, j).Select ActiveCell.FormulaR1C1 = "IF(cells(i-4,j-4)="",1,0)" - нужно чтобы в каждую выделенную ячейку сувал такую формулу с и долларами. Цель формулы - если одна ячейка пустая ставить в другую единицу). Next Next зы. если есть какой-то более красивый способ посчитать кол-во ячеек каждого вида (сожержащих определенное слово и пустых), подскажите. Признаю, что выбрал топорный способ. |
29.10.2009, 16:57 | #5 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Записать формулу в диапазон ячеек можно и без цикла - одной строкой кода. Вот только зачем? Цитата:
|
||
29.10.2009, 17:07 | #6 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
ндааа...как всё просто
только одно не понял как с ней сделать - посчитать все заполненные ячейки? просто счет считает только ячейки с цифровыми значениями, нужно кол-во всех заполненных ячеек в диапазоне. |
11.11.2009, 16:46 | #7 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
тоже касается защиты.
можно как-нибудь запретить копироваться границам ячеек? ужас как задолбало постоянно "восстанавливать красоту" |
11.11.2009, 16:55 | #8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
И "красота" сохранится. |
|
11.11.2009, 16:59 | #9 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 10
|
ясно, сделать чтобы это было умолчательно можно?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Моргает label при перемещении | Maxs | Компоненты Delphi | 21 | 26.11.2009 19:57 |
Изменить курсор при перемещении формы | Nester | Общие вопросы Delphi | 11 | 28.09.2009 18:29 |
Процедура при перемещении формы | Alex Cones | Общие вопросы Delphi | 7 | 28.07.2009 09:11 |
Запоминание координат при перемещении формы | Shouldercannon | Общие вопросы Delphi | 5 | 21.06.2009 23:11 |
Определение X и Y координат PaintBox при перемещении курсора мыши | Vladimir K. | Общие вопросы Delphi | 3 | 04.01.2007 10:45 |