Re: помогите с макросом для Эксель
Добавлено: 16 май 2010, 21:16
dissonance
куда скопированный лист девать?
куда скопированный лист девать?
Busine2009, твой код не работает. так как внутренняя нумерация листов Экселя не совпадает с нумерацией имен листов.и что потом делается с этим листом? Зачем он копируется?
Кроме первого пункта (т.к. смысл не понятен)
Код: Выделить всё
Sub Макрос1()
Sheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets(Sheets.Count - 1).Name + 1
Sheets(ActiveWorkbook.Sheets.Count).Range("A1").Value = "10У-" & ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Range("A2").Value = Date
End Sub
dissonance писал(а):Busine2009, твой код не работает. так как внутренняя нумерация листов Экселя не совпадает с нумерацией имен листов.
эксель создает лист с названием "83", а должен "1071"
прилагаю скрин чтобы было понятней.
Код: Выделить всё
Sub Макрос1 ()
Application.ScreenUpdating = False
Sheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = Val(Sheets(Sheets.Count - 1).Name) + 1
.[A1].Value = "10У-" & .Name
.[A2].Value = Date
End With
Application.ScreenUpdating = True
End Sub
Код: Выделить всё
Sub Макрос1()
Application.ScreenUpdating = False
Sheets(Sheets.Count).Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = Val(Sheets(Sheets.Count - 1).Name) + 1
.[A1].Value = "10У-" & .Name
.[A2].Value = Date
.PageSetup.FitToPagesWide = 1
.PageSetup.FitToPagesTall = 1
End With
Application.ScreenUpdating = True
End Sub
теперь выдает ошибку что нельзя присвоить листу такое же имя и создает в начале книги лист с именем "995(2)" , "995(3)"....(995 - первый лист в книге. нумерация начинается с него)Busine2009 писал(а):dissonance
окончательный вариант:Код: Выделить всё
Sub Макрос1() Application.ScreenUpdating = False Sheets(Sheets.Count).Copy after:=Sheets(Sheets.Count) With ActiveSheet .Name = Val(Sheets(Sheets.Count - 1).Name) + 1 .[A1].Value = "10У-" & .Name .[A2].Value = Date .PageSetup.FitToPagesWide = 1 .PageSetup.FitToPagesTall = 1 End With Application.ScreenUpdating = True End Sub