2013-11-14 60 views
2

我不知道Excel宏,所以我確信這是一個荒謬的問題。我有一個Excel工作簿,這裏有7個工作表(K:\ Common \ HSRE \ Hospice Payment Reform \ Plotzke \ Ad Hoc Tasks \ OY1 \ Monitoring for MACs \ Results \ Results_2012 - Template - Master.xlsx)Excel宏:初學者 - 從一個工作簿到另一個工作簿的格式粘貼

我想將這些工作表格中的格式(格式在每個工作表上不同)複製到此工作簿(K:\ Common \ HSRE \ Hospice Payment Reform \ Plotzke \ Ad Hoc Tasks \ OY1 \ Monitoring for MACs \ Results \ Results_2012 - Template。 XLSX)。此工作簿中的工作表名稱與第一個工作簿中的名稱相同。

根據我看到網上我想我可以做這樣的事情(至少在第一個工作表)

Sub FormatMAC() 

Workbooks("K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\Monitoring for MACs\Results\Results_2012 - Template - Master.xlsx").Worksheets("Provider Level").Range("A1:CZ600").Copy 

Workbooks("K:\Common\HSRE\Hospice Payment Reform\Plotzke\Ad Hoc Tasks\OY1\Monitoring for MACs\Results\Copy of Results_2012 - Template1.xlsx").Worksheets("Provider Level").Range("A1:CZ600").PasteSpecial (xlPasteFormats) 

End Sub 

好像程序是越來越掛在第一線。我不斷收到此錯誤

運行時錯誤'9’ :下標超出範圍

任何想法的?

回答

0

如果工作簿是打開的,那麼你就不需要提供完整的路徑

試試這個

Workbooks("Results_2012 - Template - Master").Worksheets("Provider Level").Range("A1:CZ600").Copy

同樣的,其他的。

+0

謝謝!這很好用 – user2992957

0

您可以先打開主簿,然後格式複製到打開的模板

假設該模板的工作簿是開放的,這個宏是在模板的工作簿,您可以使用以下

Sub FormatMAC() 
Dim mstrWB as Workbook 

Set mstrWB = Workbooks.Open("K:\Common\HSRE\Hospice Payment Reform\Plotzke\" & _ 
    "Ad Hoc Tasks\OY1\Monitoring for MACs\Results\Results_2012 - Template -" & _ 
    " Master.xlsx") 
mstrWB.Worksheets("Provider Level").Range("A1:CZ600").Copy 

Worksheets("Provider Level").Range("A1:CZ600").PasteSpecial (xlPasteFormats) 

mstrWB.Close 

End Sub 
1

這沒有指定Range,因此Format被複製爲整個Worksheet

Sub FormatMAC() 
    Dim wb1 As Workbook, wb2 As Workbook 
    Set wb1 = Workbooks("Results_2012 - Template - Master.xlsx") 
    Set wb2 = Workbooks("Copy of Results_2012 - Template1.xlsm") 
    Dim ws1 As Worksheet, ws2 As Worksheet 
    For Each ws1 In wb1.Worksheets 
     Set ws2 = wb2.Worksheets(ws1.Name) 
     ws1.Cells.Copy 
     ws2.Cells.PasteSpecial (xlPasteFormats) 
    Next ws1 
End Sub 

其中的一個文件有xlsm延伸,因爲它包含了Sub

我不知道你得到錯誤引用的原因。

+1

'我不知道你得到錯誤引用的原因。'當Excel無法找到具有特定名稱的工作簿時,上述方案錯誤中出現「下標超出範圍」。 :) –

+1

太好了。添加路徑不是可選的,它是不存在的。 –

相關問題