2013-04-27 241 views
0

我有一個有很多工作表的excel電子表格。複製excel行vba宏

我想將第一行從「Sheet1」複製到第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 2013-04-27 16:42:10

2

ActiveCell.PasteSpecial xlColumnWidths

要闡述:

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

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

End With 

希望幫助!

+0

+1:「xlPasteColumnWidths」?哇,我真的在這裏每天都學到一些新東西。 – RBarryYoung 2013-04-27 15:55:26