Sub ZoomInAndOut()
Select Case ActiveSheet.Name
Case "Chart 1", "Chart 2", "Chart 3"
If ActiveWindow.Zoom = 89 Then
ActiveWindow.Zoom = 400 '<-----Change to suit
Else
ActiveWindow.Zoom = 89
End If
Case Else
MsgBox "You cannot use this feature on this sheet." & vbLf & _
"Use is restricted to the following sheets:" & vbLf & _
"""Chart 1"", ""Chart 2"" and ""Chart 3""", vbOKOnly, "Restricted Use"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UnZoom
End Sub
Option Explicit
Dim miRow As Long
Dim miCol As Long
Dim mfZoom As Single
Dim mbZoom As Boolean
Sub ChartZoom()
If Not mbZoom Then
With ActiveWindow
miRow = .ScrollRow
miCol = .ScrollColumn
mfZoom = .Zoom
End With
mbZoom = True
End If
With ActiveSheet.ChartObjects(Application.Caller)
With Range(.TopLeftCell, .BottomRightCell)
Application.EnableEvents = False
.Select
Application.EnableEvents = True
ActiveWindow.ScrollRow = .Row
ActiveWindow.ScrollColumn = .Column
End With
ActiveWindow.Zoom = True
.Select
End With
End Sub
Sub UnZoom()
If mbZoom Then
With ActiveWindow
.ScrollRow = miRow
.ScrollColumn = miCol
.Zoom = mfZoom
End With
mbZoom = False
End If
End Sub
No, sadly. Jon P was working on a zoom utility (changing the chart scales based on a rectangle) but the chart events in 2007+ are a little flaky - see here.