ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Chart pop-up (https://www.excelbanter.com/excel-worksheet-functions/62915-chart-pop-up.html)

Henk Frigge

Chart pop-up
 
I am looking for a way to make a chart pop-up in a worksheet no matter the
location I am working in the sheet at that moment. And to make it disappear
again.

If this is not possible, then I would be very happy to be able to return to
the place where I left my worksheet by command button. E.g. my cursor is at
cell SY2377 in worksheet A and I use a command button to jump to sheet B. How
then do I return to SY2377 in sheet A?

Reason : It's a very large workseet in which I am changing data at several
places. It is not possible to have data and chart at the same screen (too
big).



John Michl

Chart pop-up
 
You could try this code. Put it in a VBA module. You'll need to
change the sheet references to match your sheet names. This requires a
sheet (I called it Sheet1) to capture and save the current active cell
and sheet addresses. You can fire this macro by pressing Alt-F8 then
running "FlipFlop" or assign it to a short cut key combination. Hope
that helps.

- John

Sub FlipFlop()

Dim rngSht As Range
Dim rngCell As Range
Dim sht As Sheets

Set rngSht = Sheets("Sheet1").Range("A1")
Set rngCell = Sheets("Sheet1").Range("A2")

If ActiveSheet.Name < "Chart1" Then
rngSht.Value = ActiveSheet.Name
rngCell.Value = ActiveCell.Address
Sheets("Chart1").Activate
Else
Sheets(rngSht.Value).Activate
Range(rngCell.Value).Activate
End If

End Sub


Henk Frigge

Chart pop-up
 
John,

Thanks for your prompt answer. It works perfectly when I use Alt-F8, but I
want to assign it to a command-button. So, click a command button to go from
sheet to graph and click a command button to return. When I create this
situation in a little workbook for testing, everything works except returning
ot the last cell address. I get teh message - Runtime error '1004' : Activate
method of Range class failed.

Hope you can help me.

tHENKs



"John Michl" wrote:

You could try this code. Put it in a VBA module. You'll need to
change the sheet references to match your sheet names. This requires a
sheet (I called it Sheet1) to capture and save the current active cell
and sheet addresses. You can fire this macro by pressing Alt-F8 then
running "FlipFlop" or assign it to a short cut key combination. Hope
that helps.

- John

Sub FlipFlop()

Dim rngSht As Range
Dim rngCell As Range
Dim sht As Sheets

Set rngSht = Sheets("Sheet1").Range("A1")
Set rngCell = Sheets("Sheet1").Range("A2")

If ActiveSheet.Name < "Chart1" Then
rngSht.Value = ActiveSheet.Name
rngCell.Value = ActiveCell.Address
Sheets("Chart1").Activate
Else
Sheets(rngSht.Value).Activate
Range(rngCell.Value).Activate
End If

End Sub



John Michl

Chart pop-up
 
If you are using a command button that would imply that you are always
starting and ending at the same place. If that is the case, you don't
need to "capture" the starting cell and can "hard code" the locations.
Assuming the button is on "Sheet1" and also on "Chart1" try...

Sub FlipFlopRevised()

If ActiveSheet.Name < "Chart1" Then
Sheets("Chart1").Activate
Else
Sheets("Sheet1").Activate
End If


End Sub


Henk Frigge

Chart pop-up
 
John,

The trick is that I use frozen windows, so the command buttons are alway up
in the upper left corner of the screen. Down-right I am working with my data.

I always used Sheets.Select to change from the one sheet to the other, but
then you always return to cell A1. In your FlipFlop routine, you used
Sheets.Activate and I noticed that you than return to the sheet in the same
way as you left it.

Simple as that! In other words : It works perfectly.

Many thanks for helping me out.

Regards,

Henk



All times are GMT +1. The time now is 06:10 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com