2014-01-21 153 views
0

我已經格式化了表格HEAD,範圍從A4到O5,我需要將它從我的隱藏設置頁面複製到新創建的所有格式(文本對齊,列大小等)。 )。將格式化的數據從一張紙複製到另一張

我這樣做:

Dim WS As Worksheet 
    Dim SheetName As String 
    SheetName = TextBox1.Text 
    Sheets.Add.Name = SheetName 
    Sheets("AdminSettings").Range("A4:O5").Copy 
    Sheets(SheetName).Paste 
    Sheets("Programma").Select 

我發現這一點:

Sheets(SheetName).PasteSpecial xlPasteFormats 

,但它無法

這就是我需要看到:

enter image description here

這就是我得到:

enter image description here

這似乎需要的文本格式,但列和行的大小 - 沒有剩餘,如何實現這一目標?

+0

你試過'.PasteSpecial xlPasteAll'嗎? – Joe

+0

剛剛嘗試過。運行時錯誤'1004':PasteSpecial方法的工作表類失敗 – Cheese

回答

1

首先,使用.PasteSpecial,你必須將其粘貼到工作表上的特定範圍內,所以:

Sheets(SheetName).Range("A1").PasteSpecial ... 

您正試圖複製列寬和行高。爲了粘貼行高,必須複製並粘貼整行。爲了粘貼列寬,需要撥打.PasteSpecial xlPasteColumnWidths的第二個電話。

所以:

Sheets("AdminSettings").Range("4:5").Copy 
Sheets(SheetName).Range("A1").PasteSpecial xlPasteAll 
Sheets(SheetName).Range("A1").PasteSpecial xlPasteColumnWidths 

應該這樣做。

+0

謝謝,這真的做了伎倆 – Cheese

相關問題