Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / вопросы по ссылкам в Excel / 9 сообщений из 9, страница 1 из 1
02.11.2007, 18:36:05
    #34914324
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
такие вопросы:

как сделать так, чтобы при вставке в формулу ссылки на ячейку (например, в пределах листа Лист1) она вставлялась не в формате A1, а в формате Лист1!A1?

как максимально быстро заменить все ссылки на ячейки, которые есть во всех формулах на листе (или хотя бы в выделенном диапазоне листа) на абсолютные?
...
Рейтинг: 0 / 0
03.11.2007, 10:52:59
    #34914860
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
DaniilKтакие вопросы:

как сделать так, чтобы при вставке в формулу ссылки на ячейку (например, в пределах листа Лист1) она вставлялась не в формате A1, а в формате Лист1!A1?

как максимально быстро заменить все ссылки на ячейки, которые есть во всех формулах на листе (или хотя бы в выделенном диапазоне листа) на абсолютные?


1) самый простой известный мне способ: при написании формулы активировать какой-нибуть другой лист а затем вернуться к текущему, после этого все ссылки будут записываться в тредуемом виде.

2) если ссылки в пределах этого же листа, то так поменять в выделенном диапазоне

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub proba_f_sad()
Dim iCel As Range
Dim jCel As Range
For Each iCel In Selection
 For Each jCel In iCel.DirectPrecedents.Cells
  iCel.Replace jCel.Address( 0 ,  0 ), jCel.Address
 Next jCel
Next iCel
End Sub

Если формула ссылается на другие листы, то универсального способа нет:
- Если формулы отнотипны или есть возможность их сделать однотипными. то проще всего изменить вручную и протянуть.
- Либо уже исходя из конкретной задачи написать конкретный макрос (тут уже всё индивидуально)
...
Рейтинг: 0 / 0
04.11.2007, 09:15:59
    #34915640
tolikt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
В примере Deggasad наткнулся на нюанс.
Если в формуле встречается некий текст, похожий на встречающуюся в формуле ссылку, то меняется и этот самый текст. Например, для ячейки C3:
=ЕСЛИ(A1+B2>0;"A1=D4";"ЮB2")
то после макроса формула меняется на
=ЕСЛИ($A$1+$B$2>0;"$A$1=D4";"Ю$B$2")
Хотя должно быть
=ЕСЛИ($A$1+$B$2>0;"A1=D4";"ЮB2")

И ещё. Если ссылки "полуабсолютные", типа A$1, то тоже надо в цикле пробегать по всем Address(1, 0) и Address(0, 1).

Т.е. придётся писать более сложный макрос на основе примера Deggasad.
Как?

DeggasadЕсли формулы отнотипны или есть возможность их сделать однотипными. то проще всего изменить вручную и протянуть
А как "протянуть" формулу, если в ней все ссылки абсолютные?
Я так понял, что надо, например, во всех формулах ссылаться не на одни и те же ячейки, а на разные, но в абсолютных ссылках. Т. е. например: $A$1, $B$1, $C$1, и т. д.
Или нет?
...
Рейтинг: 0 / 0
04.11.2007, 12:08:33
    #34915701
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
toliktВ примере Deggasad наткнулся на нюанс.
Если в формуле встречается некий текст, похожий на встречающуюся в формуле ссылку, то меняется и этот самый текст. Например, для ячейки C3:
=ЕСЛИ(A1+B2>0;"A1=D4";"ЮB2")
то после макроса формула меняется на
=ЕСЛИ($A$1+$B$2>0;"$A$1=D4";"Ю$B$2")
Хотя должно быть
=ЕСЛИ($A$1+$B$2>0;"A1=D4";"ЮB2")

Я и не претендовал на абсолютную истину, просто для начала.

tolikt
И ещё. Если ссылки "полуабсолютные", типа A$1, то тоже надо в цикле пробегать по всем Address(1, 0) и Address(0, 1).


Это само сабой разумеющееся, и вы своим постом только ещё раз доказали, что про это можно было не указывать, это и так понятно.

tolikt
[quot Deggasad]А как "протянуть" формулу, если в ней все ссылки абсолютные?
Я так понял, что надо, например, во всех формулах ссылаться не на одни и те же ячейки, а на разные, но в абсолютных ссылках. Т. е. например: $A$1, $B$1, $C$1, и т. д.
Или нет?
Возможно тут я и не то посоветовал. но на самом деле сложно представить зачем это нужно.
А если всё же попытаться, то ваш пример можно записать так
=ИНДЕКС($1:$1;СТОЛБЕЦ())
или
=ИНДЕКС($1:$1;СТОЛБЕЦ()-3)
...
Рейтинг: 0 / 0
05.11.2007, 10:31:45
    #34916373
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
если я правильно понял ответивших, стандартных средств для спрашиваемого не предусмотрено?
...
Рейтинг: 0 / 0
05.11.2007, 12:37:05
    #34916522
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
DaniilKесли я правильно понял ответивших, стандартных средств для спрашиваемого не предусмотрено?

Ну на первый вопрос вроде ответ был однозначный.
А по второму правильно, то что стандартных средств не предусмотрено!
...
Рейтинг: 0 / 0
06.11.2007, 10:32:01
    #34917843
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
честно говоря ответ на первый вопрос я и сам знал в таком виде, как вы предложили
...
Рейтинг: 0 / 0
06.11.2007, 13:40:58
    #34918739
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
DaniilKчестно говоря ответ на первый вопрос я и сам знал в таком виде, как вы предложили
Не удивительно!
Можно чтобы мышкой не тыкаться удерживая нажатой клавишу <Ctrl> поочеёдно нажать клавиши <Page Down> и <Page Up>.
...
Рейтинг: 0 / 0
06.11.2007, 15:25:11
    #34919213
DaniilK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопросы по ссылкам в Excel
спасибо, я так и делаю )
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / вопросы по ссылкам в Excel / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]