Option Explicit
Private Const TARGET_SHEET = "Sheet1" '<< change sheet name as required.
Private Const TARGET_CHART = "Chart 1" '<< change chart name as required.
Private WithEvents chrt As Chart
Private Sub Workbook_Activate()
HookChart Sheets(TARGET_SHEET).ChartObjects(TARGET_CHART).Chart
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
HookChart Sheets(TARGET_SHEET).ChartObjects(TARGET_CHART).Chart
End Sub
Private Sub HookChart(ByVal oChart As Chart)
Set chrt = oChart
End Sub
Private Sub chrt_Activate()
Application.OnKey "{UP}", "'" & Me.CodeName & ".KeyStroke " & True & "'"
Application.OnKey "{DOWN}", "'" & Me.CodeName & ".KeyStroke " & False & "'"
End Sub
Private Sub chrt_Deactivate()
Application.OnKey "{UP}"
Application.OnKey "{DOWN}"
End Sub
Private Sub KeyStroke(bUpArrowKey As Boolean)
Const JUMP = 20 '<< change as required.
If TypeName(Selection) = "DataLabel" Then
If bUpArrowKey Then
Selection.Top = Selection.Top - JUMP
Else
Selection.Top = Selection.Top + JUMP
End If
End If
End Sub