2013-04-27 13 views
0

У меня есть таблица Excel со многими рабочими листами.Copy excel row vba macro

Я хочу скопировать первую строку из «Лист1» во все остальные листы в строке 1 и сохранить ширину столбцов, указанную в листе 1 строки 1.

любые идеи, как это можно сделать?

благодарит заранее.

ответ

3

Это должно помочь вам!

Следующий код вставляет первую строку листа с именем «Sheet1» в каждую первую строку других листов. В случае, если имя исходного листа отличается, измените ссылку на лист заголовка HeaderRow соответствующим образом.

Dim ws As Worksheet, HeaderRow As Range 
Set HeaderRow = Worksheets("sheet1").Range("1:1") 
HeaderRow.Copy 

For Each ws In ActiveWorkbook.Worksheets 
     ws.Range(HeaderRow.Address).PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _ 
     SkipBlanks:=False, Transpose:=False 
     ws.Paste 
Next ws 
Application.CutCopyMode = False 
+0

Пожалуйста, нажмите на зеленый галочку рядом с ответом, если вы считаете, что это ваше решение ... – MeenakshiSundharam

2

ActiveCell.PasteSpecial xlColumnWidths?

Выработать:

Sheets("Sheet1").Range("A1:BL50000").Copy 

With Sheets("Sheet2").Range("A1") 
    .Cells.PasteSpecial xlPasteColumnWidths 

End With 

Надежда, что помогает!

+0

+1: "xlPasteColumnWidths"? Вау, я действительно кое-что узнаю здесь. – RBarryYoung