Я думаю, что вы ищете, это метод Application.Evaluate
. Это дает вам возможность эмулировать вычисления, такие как:
=SUM('Second Sheet:Final Sheet'!C3)
. Чтобы вернуть 2-ую и последнюю рабочую таблицу, мы можем посмотреть на различные индексы в коллекции WorkSheets
и построить допустимую строку для использования в Evalate
:
Sub Test()
With ThisWorkbook
Dim Nom2d As String: Nom2d = .Worksheets(2).Name
Dim NomLw As String: NomLw = .Worksheets(.Worksheets.Count).Name
End With
Dim result As Double: result = Evaluate("SUM('" & Nom2d & ":" & NomLw & "'!C3)")
End Sub
Если вы не настроили WorkSheets
их индексы, это должно сработать.
РЕДАКТИРОВАТЬ: Если ваши листы на самом деле называются Second SHEET
и FINAL SHEET
, это немного проще:
Dim result As Double: result = Evaluate("SUM('Second SHEET:FINAL SHEET'!C3)")