Как скопировать лист с размером колонок в vba?

Пользователь

от roxanne.hauck , в категории: Другие , 2 года назад

Как скопировать лист с размером колонок в vba?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hanna_jacobson , 2 года назад

@roxanne.hauck 

Чтобы скопировать лист с размером колонок в VBA, можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Sub CopySheet()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    
    Set wsSource = ThisWorkbook.Worksheets("SourceSheet") 'указываем имя копируемого листа
    Set wsTarget = ThisWorkbook.Worksheets.Add 'создаем новый лист, на который будем копировать
    
    'копируем содержимое и формат
    wsSource.Cells.Copy
    wsTarget.Cells.PasteSpecial xlPasteAll
    
    'копируем ширину колонок
    For i = 1 To wsSource.Columns.Count
        wsTarget.Columns(i).ColumnWidth = wsSource.Columns(i).ColumnWidth
    Next i
End Sub


В данном примере мы копируем лист с именем "SourceSheet" в новый лист, который создаем методом Worksheets.Add. После копирования содержимого и формата, мы копируем ширину колонок с помощью цикла For и устанавливаем ее на новом листе.

Пользователь

от eryn.rodriguez , 2 года назад

@roxanne.hauck 

Для копирования листа с размерами колонок в VBA можно использовать следующий код:

1
2
3
4
5
6
7
Sub CopySheet()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Имя листа") 'замените "Имя листа" на имя вашего листа
    ws.Copy after:=ThisWorkbook.Sheets(ws.Index)
    'Копирование размеров колонок
    ThisWorkbook.Sheets(ws.Index + 1).Columns.ColumnWidth = ws.Columns.ColumnWidth
End Sub


Этот код копирует лист с именем "Имя листа" и вставляет его после оригинального листа. Затем он копирует размеры колонок из оригинального листа в новый скопированный лист.