Я просто смоделировал ваш сценарий, и следующий код работал как шарм (где я пометил A1 на sheet2 как M_Leitung):
Редактировать: обновленный код - если у вас есть несколько листов, вам нужно ссылаться на имена в области рабочей книги, которые будут возвращать полностью определенный адрес (и, следовательно, результирующий диапазон знает, с какого листа выбрать адрес)
private static void Main(string[] args)
{
string FileName = Path.Combine(Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath), "Book2.xlsx");
Application excelApp = new Application();
Workbooks excelWorkbooks = excelApp.Workbooks;
Workbook report = excelWorkbooks.Open(FileName, 0, false, 5, "", "", true, XlPlatform.xlWindows, "", true, false, 0, false, false, false);
var y = report.Names.Item("M_Leitung").RefersToRange.Value;
Console.WriteLine(y);
excelWorkbooks.Close();
excelApp.Quit();
}
Обратите внимание, что вы создаете именованный диапазон автоматически при переименовании ячейки. Если вы создали диапазон, скажем, A1: B1, и вы выбрали это. Excel покажет вам именованный диапазон в этой угловой метке, а не адреса, которые доказывают, что он работает в обоих направлениях.
НТН