Джон интересуется, есть ли функция, эквивалентная = ROW () или = COLUMN () для листов. Ему нужно сослаться (например) на четвертый лист в книге, но он не может быть уверен в названии листа.

Есть несколько способов решить эту проблему, в зависимости от того, что вам нужно делать. Если вы работаете с уже сохраненным листом, следующая формула предоставит вам имя листа для Sheet4:

=MID(CELL("filename",Sheet4!A1),FIND("]",CELL( "filename",Sheet4!A1))+1,LEN(CELL("filename", Sheet4!A1)))

Обратите внимание, что в этой формуле есть несколько предположений.

Во-первых (и что наиболее важно) предполагается, что вы знаете первоначальное имя рабочего листа. В этом случае первоначальное имя — Sheet4. После того, как формула будет на месте, последующие изменения имени рабочего листа будут автоматически отражены в формуле. Второе предположение заключается в том, что рабочая книга, с которой вы работаете, была сохранена. В противном случае формула возвращает ошибку, пока книга не будет сохранена и пересчитана.

Другой подход — использовать пользовательскую функцию. В объектной модели VBA все листы в книге содержатся в коллекции Sheets. Они, в свою очередь, индексируются. Таким образом, вы можете передать значение индекса в функцию и вернуть имя рабочего листа по порядковому номеру коллекции.

Function TabName(lSNum As Long) As String     If lSNum > 0 And lSNum <= Sheets.Count Then         TabName = Sheets(lSNum).Name     End If End Function

Например, если вы хотите узнать имя четвертого рабочего листа в коллекции, вы можете использовать в своем рабочем листе следующее:

=TabName(4)

Функция будет работать нормально даже в книге, которая не была сохранена. Он также возвращает правильное имя рабочего листа, даже если рабочие листы переименованы или перемещены.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11553) применим к Microsoft Excel 2007, 2010 и 2013. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Referencing_a_Worksheet_Name [Ссылка на имя рабочего листа].