Newbie problem: button calling macro which applies custom chart

Elinor

New member
Joined
Jun 2, 2016
Messages
1
Reaction score
0
Points
0
Hi All

I'm a newbie with VBA so probably I am missing something completely obvious! I would really appreciate any help - I've previously created simple custom ribbons with button calling macros or applying styles, but I don't know how to handle this issue.

Excel 2010 on Windows 7 Enterprise. Editing the CustomUI part using XML Notepad.

I have created several custom chart templates and saved them in the default C:\Users/[username]/AppData/Roaming/Microsoft/Templates/Charts/ directory.

I want a button on my custom ribbon for each of these chart templates which will apply the template to the selected chart.

The XML looks like this:

Code:
<group id="ChartFormats" label="Custom chart formats">
     <button id="DoughnutChart" label="Doughnut Chart" size="large" imageMso="ChartTypeOtherInsertGallery" onAction="ApplyDoughnut"/>
</group>

and the VBA looks like this:
Code:
     Public MyRibbon As IRibbonUI
   
     Sub MyRibbonInit(ribbon As IRibbonUI)
        Set MyRibbon = ribbon
     End Sub

    Sub ApplyDoughnut(ribbon As IRibbonUI)
        ActiveChart.ApplyChartTemplate ( _
            "Doughnut.crtx")
    End Sub



The macro works fine when I run it as a macro (without the ribbon As IRibbonUI bit). Other macros being called via custom buttons work (e.g. applying fills to shapes).

But when I click on the button to run ApplyDoughnut, I get a Type Mismatch error. Including the .full filepath to the crtx file doesn't work.

Any help would be really, really appreciated.
 
Last edited:
Try modifying the argument signature of your callback for the button.

Code:
'Callback for Button1 onAction
Sub ApplyDoughnut(control As IRibbonControl)

ActiveChart.ApplyChartTemplate ( _             "Doughnut.crtx")
End Sub
 
Back
Top