Excel позволяет легко редактировать формулы. При этом вы можете быстро изменить ссылку на ячейку или диапазон с относительной на абсолютную.

Что делать, если у вас есть большое количество ячеек, в которых вам нужно перейти от относительной ссылки к абсолютной? В этом случае характер проблемы хорошо подходит для решения с помощью макроса.

Используя метод ConvertFormula, доступный в VBA, вы можете легко преобразовать формулу из относительной адресации в абсолютную. Следующий короткий макрос использует этот метод для изменения метода адресации, используемого в диапазоне ячеек:

Sub Relative2Absolute()

For Each c In Selection     If c.HasFormula = True Then         c.Formula = Application.ConvertFormula(c.Formula, _           xlA1, xlA1, xlAbsolute)

End If Next c End Sub

Ключ к тому, как работает этот макрос, конечно же, в методе ConvertFormula. Последний параметр, используемый методом, в данном случае — xlAbsolute. Если вы хотите адаптировать макрос так, чтобы он изменялся для других типов адресации, вы можете изменить xlAbsolute на xlRelative, xlAbsRowRelColumn или xlRelRowAbsColumn. (Я уверен, что вы можете понять назначение каждой константы по ее имени.)

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (1927 г.) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Converting_from_Relative_to_Absolute [Преобразование из относительного в абсолютное].