.формула меняющаяся строка как исправить? - PullRequest
0 голосов
/ 27 февраля 2020

То, что я пытаюсь сделать ниже, это специальная копия прошлого, где он вставляет именованный диапазон вместо диапазона. Я выбираю ячейку, которую хочу вставить в одну рабочую книгу, а затем выбираю ячейку, которую хочу скопировать в другую, а затем запускаю макрос.

Проблема заключается в том, что я делаю 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

1 Ответ

0 голосов
/ 27 февраля 2020

Похоже, это не имеет ничего общего с кодом. Сработало то, что я изменил область именованного диапазона на текущий лист, так что результатом именованного диапазона теперь является «Sheet1! Dog»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...