Как определить переменную, равную имени последнего листа (VBA)? - PullRequest
0 голосов
/ 28 июня 2019

У меня есть Excel-файл, который содержит как минимум два листа: сводный лист (Sheet1), шаблонный лист (Sheet2) и переменное количество листов.У меня есть небольшой макрос, который копирует Sheet2 в самый конец листов и переименовывает новый лист в любое, что я печатаю в поле ввода.

Я также хочу, чтобы макрос сделал A1 в Sheet1 как ссылку на что-либозначение указывается в А1 нового листа («Последний лист»).Но моя проблема состоит в том, чтобы определить переменную, равную имени нового листа.

Я пытался использовать Sheets (Sheets.Count) безуспешно.

Sheets("Sheet1").Range("A1").Formula = "='Sheets(Sheets.Count)'!A1"

Я ожидаюформула = 'NameOfTheLastSheet'! A1 должна присутствовать в A1 в Sheet1.Вместо этого Excel хочет, чтобы я открыл файл, чтобы обновить значение Sheet (Sheets.Count).

(я новичок в VBA, но я не против просмотреть некоторые области, если на меня указываютв правильном направлении.)

1 Ответ

0 голосов
/ 28 июня 2019

Вы близки, только некоторые проблемы с синтаксисом.

Sheets("Sheet1").Range("A1").Formula = "='"& Sheets(Sheets.Count).Name & "'!A1"

Поскольку Sheets(Sheets.Count).Name - это синтаксис vba для возврата имени листа, его необходимо объединить за пределами остальной части фактической строки формулы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...