Коллеги, прошу помощи. Знаю, подобные темы уже есть на форуме, но я не смог воспользоваться советами, данными в них. Я еще весьма плохо понимаю в vba.
Суть следующая: у меня есть макрос, который создает новые листы с названием из определенного списка ФИО. Когда листы с нужными именами есть, я снова выполняю макрос с тем же списком имен, в этом случае макрос создает листы: "Лист1", "Лист2" и т. д. Как сделать, чтобы он не создавал новые листы, если имя листа повторяется?
Сейчас макрос выглядит так. Не знаю как в него добавить новое условие.
Суть следующая: у меня есть макрос, который создает новые листы с названием из определенного списка ФИО. Когда листы с нужными именами есть, я снова выполняю макрос с тем же списком имен, в этом случае макрос создает листы: "Лист1", "Лист2" и т. д. Как сделать, чтобы он не создавал новые листы, если имя листа повторяется?
Сейчас макрос выглядит так. Не знаю как в него добавить новое условие.
| Код |
|---|
Sub new_sh_after()
Dim i As Object
On Error Resume Next
Finalrow = Range("A1048576").End(xlUp).Row For Each i In Sheets("17").Range("A1:A" & Finalrow)
Err.Clear
Sheets("Pivot").Select
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("ÔÈÎ"). _
ClearAllFilters
ActiveSheet.PivotTables("СводнаяТаблица1").PivotFields("ÔÈÎ"). _
CurrentPage = i.Value
If Err.Number = 0 Then
Sheets("Pivot").Range(Range("A4"), Range("B4").End(xlDown)).Copy
Worksheets.Add(after:=Worksheets("17")).Name = Left(i, 31)
ActiveSheet.Range("A1").Select
With Selection
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
End If
Next i
End Sub
|
Изменено: - 09.11.2015 09:47:51