Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Mark Stephens
 
Posts: n/a
Default Clickable pie chart - anyone know how this might be achieved?

I want to do a 3D pie chart embedded in a work sheet and allow each piece if
the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an invisible
cover (autoshape) over the piece and then assign the macro to it; but how
would I go about matching its size and shape to the correct dimension and
position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label and
then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


  #2   Report Post  
Andy Pope
 
Posts: n/a
Default

Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has
been run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:
I want to do a 3D pie chart embedded in a work sheet and allow each piece if
the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an invisible
cover (autoshape) over the piece and then assign the macro to it; but how
would I go about matching its size and shape to the correct dimension and
position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label and
then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens



--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
  #3   Report Post  
Mark Stephens
 
Posts: n/a
Default

Thanks a lot for that Andy, it looks promising, will have a go and let you
know how I get on, rgds, Mark


"Andy Pope" wrote in message
...
Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has been
run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:
I want to do a 3D pie chart embedded in a work sheet and allow each piece
if the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an
invisible cover (autoshape) over the piece and then assign the macro to
it; but how would I go about matching its size and shape to the correct
dimension and position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label
and then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info



  #4   Report Post  
Mark Stephens
 
Posts: n/a
Default

Hi Andy,

Tried the code but when I tried to connect the chart I got the following
error message:

Compile error:

User-defined type not defined


Any ideas where I've gone wrong?

Thks, Mark

"Andy Pope" wrote in message
...
Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has been
run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:
I want to do a 3D pie chart embedded in a work sheet and allow each piece
if the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an
invisible cover (autoshape) over the piece and then assign the macro to
it; but how would I go about matching its size and shape to the correct
dimension and position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label
and then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info



  #5   Report Post  
Mark Stephens
 
Posts: n/a
Default

Hey Andy,

Works like a dream, you've bought a very nice smile to my face:) thanks very
much for that



"Andy Pope" wrote in message
...
Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has been
run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:
I want to do a 3D pie chart embedded in a work sheet and allow each piece
if the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an
invisible cover (autoshape) over the piece and then assign the macro to
it; but how would I go about matching its size and shape to the correct
dimension and position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label
and then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info





  #6   Report Post  
Mark Stephens
 
Posts: n/a
Default

Hi Andy (or anyone else who may be looking in)

The line chart hilight effect is really great (especially on a black
bacground). Do you know how one would modify it so that you for example have
an autoshape the same colour as the line on the chart and when you mouse
over it it lights up (hilites, it really is a great effect) the line on the
chart?

The other effect I would really love to achieve is a similar effect with the
pie chart where when you mouse over a slice, it's border hilites in the same
way as the line on the line chart.

Thanks again, kind regards, Mark



"Andy Pope" wrote in message
...
Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has been
run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:
I want to do a 3D pie chart embedded in a work sheet and allow each piece
if the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an
invisible cover (autoshape) over the piece and then assign the macro to
it; but how would I go about matching its size and shape to the correct
dimension and position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label
and then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info



  #7   Report Post  
Jon Peltier
 
Posts: n/a
Default

For the pie chart, you want to the border formatting of a single point. Andy's
highlighting effect that changes the data in a second line chart series so it
temporarily appears won't work with the pie, but the other approaches that change
the connecting line format can be modified. Record a macro while you change the
formatting of a pie slice to see the syntax.

Note that you need to know which point you are mousing over, so you need to use Arg2
(point number) as well as Arg1 (series number).

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

Mark Stephens wrote:

Hi Andy (or anyone else who may be looking in)

The line chart hilight effect is really great (especially on a black
bacground). Do you know how one would modify it so that you for example have
an autoshape the same colour as the line on the chart and when you mouse
over it it lights up (hilites, it really is a great effect) the line on the
chart?

The other effect I would really love to achieve is a similar effect with the
pie chart where when you mouse over a slice, it's border hilites in the same
way as the line on the line chart.

Thanks again, kind regards, Mark



"Andy Pope" wrote in message
...

Hi,

You can make use of the doubleclick event.

Take a look at John's article on hi-liting lines in a chart.
http://www.pdbook.com/index.php/excel/comment/635/

Using that as a base add this code. Then once the Connect routine has been
run try selecting a slicing and doubleclicking it.

Private Sub Cht_BeforeDoubleClick(ByVal ElementID As Long, _
ByVal Arg1 As Long, ByVal Arg2 As Long, Cancel As Boolean)

If ElementID = xlSeries Then
If Arg2 0 Then
MsgBox "Run a macro for Slice " & Arg2
Cancel = True
End If
End If
End Sub

Cheers
Andy

Mark Stephens wrote:

I want to do a 3D pie chart embedded in a work sheet and allow each piece
if the pie to be 'clickable' i.e run a designated macro when clicked.

One way that occurs to me (but hard in itself) would be to put an
invisible cover (autoshape) over the piece and then assign the macro to
it; but how would I go about matching its size and shape to the correct
dimension and position of the pie peice?

Another compromise (if as I think my ideal way is impossible) would be to
try and detect the label position (less variable than the pie piece and a
convenient rectangle) and then place an invisible cover over the label
and then assign the macro with and 'on action' command.

There's usually a way of achieveing most anything but this seems to be a
tough one, any suggestions appreciated.

Kind regards, Mark Stephens


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Scrollbar on Chart Jumps to Left when Chart is Clicked Bob Charts and Charting in Excel 5 May 1st 05 02:06 AM
Chart Help Please Alex Excel Discussion (Misc queries) 2 April 8th 05 06:57 PM
Timeline Chart? ckrogers Charts and Charting in Excel 3 March 17th 05 10:20 PM
Problem with xlusrgal.xls file Alfred S C Lee Charts and Charting in Excel 2 December 29th 04 06:54 PM
pivot table multi line chart souris Charts and Charting in Excel 2 December 7th 04 04:56 AM


All times are GMT +1. The time now is 04:41 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"