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. (Я уверен, что вы можете понять назначение каждой константы по ее имени.)

В отношении метода ConvertFormula следует помнить еще об одном: он имеет ограничение на длину 255 символов. Это означает, что если ваша формула очень длинная, возможно, метод не будет работать так, как вам хотелось бы. Лучший способ выяснить, подойдет ли он для ваших нужд, — это протестировать.

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

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

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

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

Этот совет (10738) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

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