То, что я пытаюсь сделать ниже, это специальная копия прошлого, где он вставляет именованный диапазон вместо диапазона. Я выбираю ячейку, которую хочу вставить в одну рабочую книгу, а затем выбираю ячейку, которую хочу скопировать в другую, а затем запускаю макрос.
Проблема заключается в том, что я делаю C .Formula = String2, изменяет имя строки
- Результат именного диапазона -
Dog
- Результат String1 -
=[testA.xlsx]Sheet1!
- Результат String2 -
=[testA.xlsx]Sheet1!Dog
но после того, как формула установлена на =testA.xlsx!Dog
Что здесь не так? Также есть ли лучший способ вставить ссылку с указанным диапазоном?
Sub Macro7()
Dim Namedrange As String
Namedrange = ActiveCell.Name.Name
Selection.Copy
ActiveWindow.ActivatePrevious
ActiveSheet.Paste Link:=True
Application.Calculation = xlCalculationManual
For Each C In Selection
endstring = InStr(C.Formula, "!")
String1 = Left(C.Formula, endstring)
String2 = String1 + Namedrange
MsgBox endstring
MsgBox String1
MsgBox String2
C.Formula = String2
Next
Application.Calculation = xlCalculationAutomatic
End Sub