У меня есть рабочая книга, в которой я хочу сослаться на диапазон в первом листе (B1) для ввода формулы в ячейку во втором листе (B3).Моя проблема в том, что имя первого листа всегда будет меняться, поэтому я решил обойти это и создать переменную на основе ссылки на ячейку, которую могла бы использовать формула.Это то, что я имею до сих пор:
Sub GetCellAddress()
Dim Cell As Range
Dim CellAddress As String
Set Cell = ActiveWorkbook.Worksheets(1).Cells(1, 2)
CellAddress = Cell.Parent.Name & "!" & Cell.Address(External:=False)
With ActiveSheet
Range("B3").Select
ActiveCell.Formula = _
"=CONCATENATE(""Balance Sheet"","" - "",MID(CellAddress,FIND("" "",CellAddress,FIND("","",CellAddress)+2)+1,256))"
End With
'MsgBox CellAddress
End Sub
Хотя MsgBox подтвердит, что у меня CellAddress - Sheet1! $ B1 $ 1 Я не могу передать эту ссылку в формуле, просто используя CellAddress, так как я получаю#НАЗВАНИЕ?ошибка, когда я использую это.Если я использую Sheet1! R [-2] C в качестве синтаксиса ActiveCell.FormulaR1C1, он работает нормально, но, как я уже объяснил, я хочу, чтобы код разрешил имя листа.Либо у меня неправильный синтаксис, либо, возможно, мой метод - неправильный способ ссылки на диапазон на другом листе.Может кто-нибудь показать мне, где я иду не так.