Как выбрать несколько определенных вкладок в коде, а не имена вкладок - PullRequest
0 голосов
/ 09 апреля 2019

Я создаю код VBA для выбора 3 конкретных вкладок для преобразования в PDF. Я хочу иметь возможность выбрать 3 конкретных листа из списка листов в «Объектах Microsoft Excel», чтобы даже если порядок листов был изменен или листы были переименованы, те же вкладки были выбраны и преобразованы в PDF.

На данный момент у меня есть этот код, чтобы выбрать первые 3 вкладки. (который отлично работает)

 Sheets(Array(1, 2, 3)).Select

Я пробовал ниже (не работает)

Sheets(Array(Sheet1, Sheet2, Sheet3)).Select

Ожидаемый результат - возможность выбора 3-х конкретных листов из списка листов в «Объектах Microsoft Excel», так что даже если порядок листов будет изменен или переименован, те же вкладки будут выбраны и преобразованы в PDF .

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Вам нужно использовать имена, чтобы сделать множественный выбор. Но вы можете обратиться к кодовому имени, чтобы получить имя: Sheet1.Name

Sheets(Array(Sheet1.Name, Sheet2.Name, Sheet3.Name)).Select

Вы должны изменить Sheet1 и другие на CodeName листов, которые вы хотите выбрать.

0 голосов
/ 09 апреля 2019

Одним из способов является присвоение уникального CustomProperty каждому листу, который вы хотите экспортировать:

Sub qwerty()
    ActiveSheet.CustomProperties.Add Name:="PDF", Value:="pdf1"
End Sub

и аналогичным для двух других листов.

Затем, когда вы хотите экспортировать, переберите все листы в поисках подходящего CustomProperty.Не имеет значения, были ли изменены имена листов, или были изменены имена кодов, или был изменен порядок листов.

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