Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.12.2008, 17:49   #1
d-kiselev
Новичок
Джуниор
 
Регистрация: 18.12.2008
Сообщений: 2
По умолчанию Трансформация относительных ссылок в абсолютные

Добрый день!

Спасибо всем, что вы есть

У меня есть вопрос для мозгового штурма ...

Есть массив данных, который является сводным отчетом и отображает значения ячеек, которые находятся в смежных таблицах. Все ссылки в ячейках имеют абсолютный вид (Пример: A1), а мне для общего отчета в другом листе необходимо из них сделать относительные (пример: $A$1)

Вопрос:
При помощи каких инструментов можно добавить знаки "$A$1" к формулам в ячейках , учитывая то, что общее количество ячеек около пяти тысяч?
d-kiselev вне форума
Старый 18.12.2008, 18:29   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Выделите ячейки, которые надо обработать, после чего запустите следующий макрос:

Код:
Sub ConvertFormulaToAbsolute()
    Application.ReferenceStyle = xlA1
    Dim cell As Range
    For Each cell In Selection.Cells
        cf = cell.Formula
        If Not cf = "" Then cell.Formula = Application.ConvertFormula(cf, xlA1, xlA1, True)
    Next
End Sub
Не обязательно выделять только ячейки с формулами.
Не выделяйте весь лист - макрос будет работать очень долго.


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

Код:
Sub ConvertFormulaToAbsolute_inUsedRange()
    Application.ReferenceStyle = xlA1
    Dim cell As Range, cf As String
    For Each cell In ActiveSheet.UsedRange.Cells
        cf = cell.Formula
        If Not cf = "" Then cell.Formula = Application.ConvertFormula(cf, xlA1, xlA1, True)
    Next
End Sub
EducatedFool вне форума
Старый 18.12.2008, 21:27   #3
d-kiselev
Новичок
Джуниор
 
Регистрация: 18.12.2008
Сообщений: 2
По умолчанию

EducatedFool все очень исправно работает!
Огромное спасибо за столь оперативный ответ!!!
d-kiselev вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трансформация изображений Артэс Свободное общение 27 14.12.2009 10:27
Ротатор ссылок (TDS) на java imsha JavaScript, Ajax 0 19.11.2008 12:47
Массив ссылок на функции класса therom Общие вопросы C/C++ 0 30.09.2008 15:59
абсолютные адреса kano Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.07.2008 20:49