У меня есть формула Excel, которую я использовал:
=IFNA(LEFT(INDIRECT(ADDRESS(3,MATCH("Target Ship*",Ed!1:1,0),,,"Ed")),
FIND(" ",INDIRECT(ADDRESS(3,MATCH("Target Ship*",Ed!1:1,0),,,"Ed")))-1),"")
Я пытаюсь заставить ее работать в VBA, с функцией, которая извлекает имя Sheet2, но с кодом ниже она выдает ошибку
"Ошибка компиляции: синтаксическая ошибка"
Worksheets(1).Cells(l + i * 2 - 2, j).Formula = "=IFNA(LEFT(INDIRECT(ADDRESS(3,MATCH(""Target Ship*"","&shtName&"!1:1,0),,,""&shtName&"")),FIND("" "",INDIRECT(ADDRESS(3,MATCH(""Target Ship*"","&shtName&"!1:1,0),,,""&shtName&"")))-1),"""")"
Кроме того, мой код ниже не устанавливает shtName из функции.
shtName = sheetName(2)
Function sheetName(num As Integer) As String
shtName = Sheets(num).Name
End Function