2016-11-03 84 views
0

我寫了一些代碼來在圖表中創建第二個y軸。當我編寫第二個y軸並且代碼看起來很棒時,我錄製了一個宏。然而,當我嘗試從VBA代碼運行它時,它不起作用。 我試過了Format Painter(第一個y軸),如果它工作的話它會是最優的,並且也可以通過格式化第二個y軸「手動」宏在Excel中格式化y軸

這是我(和它的不工作..) 格式化第二y軸以宋體(「手動」): ActiveChart.Axes(xlValue, xlSecondary).Select Selection.Format.TextFrame2.TextRange.Font.Name = "+mj-lt" 'This line doesn't work... Selection.Format.TextFrame2.TextRange.Font.Size = 14

錯誤代碼:對象 'ChartFormat' 的方法TextFrame2失敗

使用格式刷:

ActiveChart.Axes(xlValue).Select 
Selection.Format.PickUp 'This line doesn't work... 
ActiveChart.Axes(xlValue, xlSecondary).Select 

錯誤代碼:對象不支持此屬性或方法。

有誰知道爲什麼這些方法都不工作,或者如果有解決方法?

+0

你不應該(或者至少總是儘量避免)使用'select'。看看這裏http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros – Niclas

+0

你可以使用'.PasteSpecial粘貼:= xlPasteFormats'來做「格式畫家」。但是你以前需要做一個'.copy'。 – Niclas

+0

感謝Niclas的建議。但是,我認爲當涉及到圖表中的y軸時,複製粘貼方法是不可能的。 – dcez

回答

0

我發現了一個變通使用:

With ActiveChart.Axes(xlValue, xlSecondary).TickLabels.Font 
    .Name = "Calibri" 
    .Size = 16 
End with 

我一直沒能解決與格式刷,雖然這個問題...