Make a chart axis visible/invisible with VBA

J

Jeff Reese

(I posted this in the Programming newsgroup but realized it was probably more
appropriate to post here...)

Hello.

I'm using Excel 2003. I have a chart on a page and I want to set the scale
on the Y axis programatically with VBA.

I have written code that does this successfully.

The problem: The code will not work if the Y axis is hidden (which I want)
- it throws an error saying it can't set the Maximum value.

Where I need help: I'm having trouble writing the code to make the Y axis
visible, then invisible again. The idea being that I'll display it, set the
scale, then hide it again.

I've looked around in the newsground and internet and I haven't been able to
find what I'm looking for.

Any help is appreciated.

Thanks.
 
J

Jon Peltier

Jeff -

Don't make the axis invisible by setting HasAxis = False; this actually
deletes the axis. Keep HasAxis equal to True, but set the axis patterns to
none, like this:

With ActiveChart.Axes(xlValue)
With .Border
.Weight = xlHairline
.LineStyle = xlNone
End With
.MajorTickMark = xlNone
.MinorTickMark = xlNone
.TickLabelPosition = xlNone
End With

Now the axis is there, just not visible. You can access any of its scale
properties without making it visible.

- Jon
 
J

Jeff Reese

Thanks, Jon. This works perfectly.

--
Jeff


Jon Peltier said:
Jeff -

Don't make the axis invisible by setting HasAxis = False; this actually
deletes the axis. Keep HasAxis equal to True, but set the axis patterns to
none, like this:

With ActiveChart.Axes(xlValue)
With .Border
.Weight = xlHairline
.LineStyle = xlNone
End With
.MajorTickMark = xlNone
.MinorTickMark = xlNone
.TickLabelPosition = xlNone
End With

Now the axis is there, just not visible. You can access any of its scale
properties without making it visible.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top