'МАХ Добавляем лист
Sheets.Add
'МАХ Перемещаем лист
Sheets("Лист6").Move After:=Sheets(4)
'МАХ Переименовываем лист
Sheets("Лист6").Name = "Тест"
Excel: Как программно создать лист...
Мне нужно программно создать лист с определенным названием... Но не так, что сначала создается лист, а только потом переименовывается, нужно чтобы сразу в коде было имя листа.
Цитата:
Originally posted by Lev_ru
Мне нужно программно создать лист с определенным названием... Но не так, что сначала создается лист, а только потом переименовывается, нужно чтобы сразу в коде было имя листа.
Мне нужно программно создать лист с определенным названием... Но не так, что сначала создается лист, а только потом переименовывается, нужно чтобы сразу в коде было имя листа.
Вот пример:
Код:
Думаю то, что нужно
Цитата:
Originally posted by mhaturov
Вот пример:
Думаю то, что нужно
Вот пример:
Код:
'МАХ Добавляем лист
Sheets.Add
'МАХ Перемещаем лист
Sheets("Лист6").Move After:=Sheets(4)
'МАХ Переименовываем лист
Sheets("Лист6").Name = "Тест"
Sheets.Add
'МАХ Перемещаем лист
Sheets("Лист6").Move After:=Sheets(4)
'МАХ Переименовываем лист
Sheets("Лист6").Name = "Тест"
Думаю то, что нужно
Я же пишу: мне не нужно сначала копировать, а потом переименовывать. Мне нужно сразу создать лист с названием...
Цитата:
Originally posted by Lev_ru
Я же пишу: мне не нужно сначала копировать, а потом переименовывать. Мне нужно сразу создать лист с названием...
Я же пишу: мне не нужно сначала копировать, а потом переименовывать. Мне нужно сразу создать лист с названием...
можно так попробывать
Dim NewSheet As Worksheet
Set NewSheet = Worksheets.Add
NewSheet.Name = "Привет"
С3=пупкин. а лист должен называться "движение вася пупкин". Ну что то в этом роде. и допустим второя штучка это создание именно книги с одним таким листом
Заранее благодарен
Код:
With Worksheets
.Add.Name = "Движение " & .Item(1).Range("A1") & " " & .Item(1).Range("C3")
End With
.Add.Name = "Движение " & .Item(1).Range("A1") & " " & .Item(1).Range("C3")
End With
Предположим, что в рабочем листе с именем "Лист1", который наличествует в активной рабочей книге, также находятся значения, которые будут использованы при создании нового рабочего листа :
Код:
With Worksheets
.Add.Name = "Движение " & .Item("Лист1").Range("A1") & " " & .Item("Лист1").Range("C3")
End With
.Add.Name = "Движение " & .Item("Лист1").Range("A1") & " " & .Item("Лист1").Range("C3")
End With
Тоже самое, только здесь используется кодовое имя листа, которое может отличаться от имени в семействе Worksheets/Sheets
Код:
Sheets.Add.Name = "Движение " & Лист1.[A1] & " " & Лист1.[C3]
Часть 2
Код:
iNewName$ = "Движение " & Worksheets(1).Range("A1") & " " & Worksheets(1).Range("C3")
Workbooks.Add(xlWBATWorksheet).Worksheets(1).Name = iNewName$
Workbooks.Add(xlWBATWorksheet).Worksheets(1).Name = iNewName$
Ознакомиться с ограничениями можно в справке или здесь
В втором варианте имелось в виду что полностью книга будет называться "движение вася пупкин", а не лист в этой книге.
Извиняюсь за неточное разяснение цели.
Код:
iBookName$ = "Движение " & Worksheets(1).Range("A1") & " " & Worksheets(1).Range("C3") & ".xls"
Workbooks.Add.SaveAs Filename:="C:\Мои_документы\" & iBookName$
Workbooks.Add.SaveAs Filename:="C:\Мои_документы\" & iBookName$
Указанная папка, естественно, используется только в качестве примера и может быть заменена на другую существующую папку. Если есть вероятность, что в данной папке уже наличествует рабочая книга с таким же именем, то можно, либо предварительно проверять её существование (если старую книгу удалять не нужно), либо просто использовать нижеприведённый код (если старая книга больше не нужна и её можно "удалить")
Код:
Application.DisplayAlerts = False
'Здесь создание и сохранение книги
Application.DisplayAlerts = True
'Здесь создание и сохранение книги
Application.DisplayAlerts = True
здорово ! огромное спасибо.