Excel - Macro que obligue un orden de tabulación determinado

   
Vista:

Macro que obligue un orden de tabulación determinado

Publicado por Jose Segura López p071263@GMAIL.COM (10 intervenciones) el 24/01/2018 13:20:31
Hola a todos. En una hoja excel quisiera pulsar enter o tabulador y aunque la celda este vacía se realice este itinerario con este orden; A1, A4, B1, C5, C4 y vuelva a A1. No me vale la solución de proteger las celdas y desbloquear las celdas citadas. Como se ve el orden descrito hace un recorrido que baja y luego sube y luego baja y luego sube.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro que obligue un orden de tabulación determinado

Publicado por JuanC juanc2942@gmail.com (1229 intervenciones) el 24/01/2018 15:27:30
encontré esta macro por ahí... adaptala y debería funcionar!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Macro que obligue un orden de tabulación determinado

Publicado por Jose Segura (10 intervenciones) el 24/01/2018 19:55:14
Muchas gracias la he probado y va genial. Un saludo Juan
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro que obligue un orden de tabulación determinado

Publicado por José (26 intervenciones) el 12/02/2018 12:36:26
HE ENCONTRADO UNA MACRO MAS SENCILLA

Copiar en un modulo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub auto_open()
teclas
End Sub
 
Sub teclas()
Application.OnKey "{ENTER}", "orden"
Application.OnKey "{TAB}", "orden"
Application.OnKey "{RETURN}", "orden"
End Sub
 
Sub orden()
'por luismondelo
On Error Resume Next
If ActiveCell.Address = "$A$1" Then
Range("E12").Select
Exit Sub
End If
If ActiveCell.Address = "$E$12" Then
Range("F2").Select
Exit Sub
End If
If ActiveCell.Address = "$F$2" Then
Range("E10").Select
Exit Sub
End If
If ActiveCell.Address = "$E$10" Then
Range("A1").Select
Exit Sub
End If
End Sub

SALUDOS JOSE SEGURA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad