VBA скопировать лист с форматированием

#vba

#vba

Вопрос:

Я запускаю следующий код для копирования и переименования листа, но по какой-то причине имя не меняется. Есть идеи?

Заранее спасибо.

Вложенная копия ()

 Sheets("TV Indicators").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Cells.Copy
Sheets(Sheets.Count).Cells.PasteSpecial xlPasteValues
Sheets(Sheets.Count).Name = Sheets("TV Indicators").Range("A3").Value
  

Конец подраздела

Комментарии:

1. В общем, вы можете найти код VBA для многих «действий», записав макрос, а затем просмотрев код.

Ответ №1:

попробуйте это:

 Sub copier()

    Sheets("TV Indicators").Copy After:=Sheets(Sheets.Count)
    With ActiveSheet
        .Cells.Copy
        .Cells.PasteSpecial xlPasteValues
        .Name = Sheets("TV Indicators").Range("A3").Value
    End With
    Application.cutcopymode = false
    range("A1").Select

End Sub
  

Это нормально?

Комментарии:

1. Да, это отлично работает! Можно ли добавить пару строк в конец, чтобы отменить выбор листа и выйти из режима копирования / вставки?

2. Я не могу понять, почему, но теперь листы не переименовываются. Есть мысли? Еще раз спасибо.

3. Что содержит ячейка b3?

4. Это выпадающий список, который я создал с помощью проверки данных. Так что, я думаю, просто строка.

5. Содержит ли он какие-либо недопустимые символы? Например, символы?