Макрос Excel для создания абсолютной или относительной ссылки на выбранный диапазон?

#excel #vba

Вопрос:

Итак, некоторое время назад я наткнулся на макрос, который позволил бы вам сделать выбранные ячейки абсолютными или относительными ссылками (вам будет предложено выбрать 1 из 4 вариантов), а затем соответствующим образом обновить. Вам не нужно было настраивать код для ввода имен книг/листов, так как он работал с текущими активными/выбранными ячейками. Я снова искал его и не мог найти. Есть какие-нибудь идеи?

Ответ №1:

Может, это от Скотта?

Вы выбираете диапазон/область, и это дает вам возможность изменить ее.

Затем вы можете выбрать между Абсолютной, Абсолютной строкой, Абсолютной Колонкой или Относительной ссылкой.

 Sub ConverReferenceType()
    On Error Resume Next
    Set myRange = Application.Selection
    Set myRange = Application.InputBox("Select one Range that you want to covert reference type:", "ConvertReferenceType", myRange.Address, Type:=8)
    Set myRange = myRange.SpecialCells(xlCellTypeFormulas)
     myIndex = Application.InputBox("Select a reference type from below list:" amp; Chr(13) amp; Chr(13) _
    amp; "Absolute = 1" amp; Chr(13) _
    amp; "Row absolute = 2" amp; Chr(13) _
    amp; "Column absolute = 3" amp; Chr(13) _
    amp; "Relative = 4", "ConvertReferenceType", 1, Type:=1)
    For Each R In myRange
       R.Formula = Application.ConvertFormula(R.Formula, XlReferenceStyle.xlA1, XlReferenceStyle.xlA1, myIndex)
    Next
End Sub
 

Если вы не хотите, чтобы поле ссылки отображалось, вы можете закомментировать эту строку

 'Set myRange = Application.InputBox("Select one Range that you want to covert reference type:", "ConvertReferenceType", myRange.Address, Type:=8)