Страница 2 из 3

Re: помогите с макросом для Эксель

Добавлено: 16 май 2010, 21:16
Busine2009
dissonance
куда скопированный лист девать?

Re: помогите с макросом для Эксель

Добавлено: 17 май 2010, 09:50
dissonance
содержимое предыдущего листа необходимо скопировать в новый лист (который создает макрос)

Re: помогите с макросом для Эксель

Добавлено: 19 май 2010, 14:16
dissonance
и что потом делается с этим листом? Зачем он копируется?

Кроме первого пункта (т.к. смысл не понятен)
Busine2009, твой код не работает. так как внутренняя нумерация листов Экселя не совпадает с нумерацией имен листов.
эксель создает лист с названием "83", а должен "1071" и стопориться в строчке указания даты.
прилагаю скрин чтобы было понятней.

Re: помогите с макросом для Эксель

Добавлено: 26 май 2010, 08:12
dissonance
помогите дописать, плиз. тем более основная часть уже написана

Re: помогите с макросом для Эксель

Добавлено: 26 май 2010, 20:53
Busine2009
dissonance
Макрос копирует самый последний лист и вставляет его в самом конце.

Код: Выделить всё

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

Re: помогите с макросом для Эксель

Добавлено: 27 май 2010, 09:23
dissonance
Busine2009, спасибо что помогаешь! ;) но вот какая шляпа:
dissonance писал(а):Busine2009, твой код не работает. так как внутренняя нумерация листов Экселя не совпадает с нумерацией имен листов.
эксель создает лист с названием "83", а должен "1071"
прилагаю скрин чтобы было понятней.

Вот такая же фигня..дата и номер листа нормально вставляются. а вот с нумерацией бардак. я скрин прикладывал, думаю по нему понятно будет из-за чего.

Re: помогите с макросом для Эксель

Добавлено: 28 май 2010, 00:41
nilem
Так попробуйте:

Код: Выделить всё

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

Re: помогите с макросом для Эксель

Добавлено: 30 май 2010, 09:54
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

Re: помогите с макросом для Эксель

Добавлено: 31 май 2010, 11:52
dissonance
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
теперь выдает ошибку что нельзя присвоить листу такое же имя и создает в начале книги лист с именем "995(2)" , "995(3)"....(995 - первый лист в книге. нумерация начинается с него)

Re: помогите с макросом для Эксель

Добавлено: 09 сен 2010, 14:38
dissonance
извините что отвечаю поздно. попробовал на новом Экселевском файле - все работает! огромное человеческое спасибо всем кто писал этот макрос. :D :D