Salto de celdas (con codigo en hoja)

28/09/2006 - 14:42 por kusflo | Informe spam
Tengo el código necesario para realizar un salto de celdas en una hoja. Pero
mi pregunta es la siguiente: ¿En que procedimiento debo meter este código
para que funcione correctamente? Mi intención es meterlo de alguna forma en
la propia hoja sin usar módulos. ¿Es posible?

APPLICATION.ONKEY "{ENTER}", SALTOLUGAR
'Enter normal
APPLICATION.ONKEY "{~}", SALTOLUGAR
'Tabulador
APPLICATION.ONKEY "{TAB}", SALTOLUGAR

Function SALTOLUGAR()

'Esta función tiene como objeto ayudar al usuario en el desplazamiento por
las celdas
C = ActiveCell.Column
R = ActiveCell.Row
Select Case C
Case 2
APPLICATION.Goto Cell(R, C + 1)
Case 3
APPLICATION.Goto Cell(R, C + 1)
Case 4
APPLICATION.Goto Cell(R, C + 2)
Case 6
APPLICATION.Goto Cell(R, C + 3)
Case 9
APPLICATION.Goto Cell(R, C + 1)
Case 10
APPLICATION.Goto Cell(R + 1, C - 8)
End Select
End Function




"Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he
aquí el verdadero saber." Confucio.
 

Leer las respuestas

#1 David
28/09/2006 - 23:02 | Informe spam
Hola, kusflo.

Application.OnKey debe ser ejecutado dentro de un procedimiento, no en la
sección de declaraciones.

En lo personal, te sugeriría que elaboraras un procedimiento para programar
las teclas que necesita tu usuario, y otro para desprogramarlas. Prueba
copiar y pegar este código a un módulo cualquiera de un libro, y luego
ejecuta el procedimiento ActivarTeclas. Cuando desees que las teclas Enter y
Tabulador regresen a su función normal, ejecutas el procedimiento
DesactivarTeclas.

Sub ActivarTeclas()
'Reprogramando las teclas ENTER y TAB:
'Enter numérico
Application.OnKey "{ENTER}", "SALTOLUGAR"
'Enter normal
Application.OnKey "~", "SALTOLUGAR"
'Tabulador
Application.OnKey "^{TAB}", "SALTOLUGAR"
End Sub

Sub DesactivarTeclas()
'Desprogramando las teclas
'Enter numérico
Application.OnKey "{ENTER}"
'Enter normal
Application.OnKey "~"
'Tabulador
Application.OnKey "^{TAB}"
End Sub

Sub SALTOLUGAR()
'Esta función tiene como objeto ayudar al usuario en el desplazamiento por
'las celdas
Beep
C = ActiveCell.Column
R = ActiveCell.Row
Application.StatusBar = C
Select Case C
Case 2
Application.Goto Cells(R, C + 1) 'OJO: Tu procedimiento decía
Cell(R,C+1)
Case 3
Application.Goto Cells(R, C + 1)
Case 4
Application.Goto Cells(R, C + 2)
Case 6
Application.Goto Cells(R, C + 3)
Case 9
Application.Goto Cells(R, C + 1)
Case 10
Application.Goto Cells(R + 1, C - 8)
End Select
End Sub

Espero comentarios de cómo te fue.



"kusflo" escribió:

Tengo el código necesario para realizar un salto de celdas en una hoja. Pero
mi pregunta es la siguiente: ¿En que procedimiento debo meter este código
para que funcione correctamente? Mi intención es meterlo de alguna forma en
la propia hoja sin usar módulos. ¿Es posible?

APPLICATION.ONKEY "{ENTER}", SALTOLUGAR
'Enter normal
APPLICATION.ONKEY "{~}", SALTOLUGAR
'Tabulador
APPLICATION.ONKEY "{TAB}", SALTOLUGAR

Function SALTOLUGAR()

'Esta función tiene como objeto ayudar al usuario en el desplazamiento por
las celdas
C = ActiveCell.Column
R = ActiveCell.Row
Select Case C
Case 2
APPLICATION.Goto Cell(R, C + 1)
Case 3
APPLICATION.Goto Cell(R, C + 1)
Case 4
APPLICATION.Goto Cell(R, C + 2)
Case 6
APPLICATION.Goto Cell(R, C + 3)
Case 9
APPLICATION.Goto Cell(R, C + 1)
Case 10
APPLICATION.Goto Cell(R + 1, C - 8)
End Select
End Function




"Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he
aquí el verdadero saber." Confucio.

Preguntas similares