I think I am getting closer. In VB the command is Charts("Chart1").HasAxis(xlValue, xlPrimary) = True After some more digging in the Win32::OLE documentation I can turn the primary axis on and off with $Chart->SetProperty('HasAxis', xlValue, xlPrimary , 'True'); When I change to the xlSecondary axis the command runs without error but the axis does not turn on. Very puzzling. Back to digging. Thanks for your help.