Option Explicit
'//----------------------
'//By JuanC - Marzo 2007
'//----------------------
Sub auto_open()
Application.OnKey "{TAB}", "myTab"
End Sub
Sub auto_close()
Application.OnKey "{TAB}"
End Sub
Sub myTab()
On Error Resume Next
'//Si está en la Hoja1 (nombre de la hoja)
If ActiveSheet.Name = "Hoja1" Then
'//Según la celda actual (posición inicial) elige la celda destino (posición final)
Select Case ActiveCell.Address(0, 0)
'//Si está en la celda A1 ir a la celda B5
Case "A1": Range("B5").Activate
'//Si está en la celda A2 ir a la celda B6
Case "A2": Range("B6").Activate
'//Si está en la celda B6 ir a la celda A2 (vuelve)
Case "B6": Range("A2").Activate
'//Si no está en ninguna celda de interés,
'//se ubica en la celda contigua (si no está en la última columna)
Case Else: If ActiveCell.Column <> Cells.Columns.Count Then ActiveCell.Offset(0, 1).Activate
End Select
'//Si no está en la hoja de trabajo hace lo 'normal'
Else: If ActiveCell.Column <> Cells.Columns.Count Then ActiveCell.Offset(0, 1).Activate
End If
End Sub