Существует ли автоматический способ редактирования имен и порядка листов Excel?
Я хотел бы изменить порядок листов в книге Excel 2007 и задаться вопросом, есть ли способ сделать это, кроме утомительного ручного процесса. У меня есть около 100 листов, поэтому я бы хотел избежать ручного способа сделать это, но я не вижу никакого программного способа сделать это.
Аналогично, существует ли простой способ поиска листа по его имени, чтобы выбрать его?
2 ответа
Вы можете программно перебирать листы и изменять их порядок, используя код, подобный следующему:
Sub ReverseSheets()
Dim i As Integer
For i = 1 To Worksheets().count
Worksheets(i).Move before:=Worksheets(1)
Next i
End Sub
Этот код автоматически перевернет все листы в книге. Точное количество листов не имеет значения, поскольку каждый раз проверяется количество листов.
Что касается поиска имен листов, это возможно, но значительно сложнее, чем реверсирование листов. Вот несколько сайтов, с которых можно начать:
http://automation-beyond.com/2010/01/27/how-to-find-excel-worksheet-by-name/
http://www.mrexcel.com/forum/excel-questions/58374-visual-basic-applications-find-sheet-name.html
Чтобы изменить имя листа, вы можете использовать VBA:
Выберите свой лист:
Sheets("Sheet1".Select
Переименуйте свой лист:
Sheets("Sheet1").Name = "SheetA"
Затем просто создайте цикл для циклического перебора всех ваших листов и попросите его присвоить нужные имена.