Celda para un solo carácter con pase a siguiente sin esperas

Esgrimidor

New Member
Joined
Jun 25, 2009
Messages
34
Celda para un solo carácter con pase a siguiente sin esperas.

¿ Cómo se configura una celda excel para que sólo sea posible meter un carácter y que tras introducirlo salte el cursor a la celda siguiente inferior ?

Por ejemplo el dígito 1 hace que se escriba el uno y luego el cursor pase a la celda inferior. Y si le damos a enter que pase a la celda siguiente sin escribir nada en la celda actual.
 

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.
Hola esgrimidor,

en validación de datos tienes la opción "Longitud de texto", ahí puedes controlar para que en la celda sólo se pueda introducir un caracter.

De manera predefinida (a menos que hayas modificado ese comportamiento) al presionar Intro tras ingresar el valor o texto en la celda, saltará a la celda siguiente celda inferior.
 
Upvote 0
Sin embargo, no hay forma de que Excel pase a la siguiente celda con solo presionar 1, ya que no se puede correr macros mientras Excel esté en modo edición.
 
Upvote 0
Gracias a los dos.

hay algún truquito que permita saltar esta limitación.

O sea. Lo que yo trato está claro.

Es una lista con unos doscientos y pico items o líneas a comprobar. En la mayoría de los casos es una comprobación a toro pasado. Es decir al final del trabajo, pero también cabe la posibilidad de dos o tres revisiones. O sea que es posible que hayan distintos valores en las celdas y lo que me interesa es proponer el nuevo valor con un solo golpe de tecla o una maniobra rápida.

Hay forma o alternativa ?

Por lo mismo también me gustaría si hay forma de proponer que todo se ponga con un valor determinado.

Por ejemplo que en el rango D4:D263 se ponga todo con el mismo valor. Por ejemplo un 1 o el símbolo ese de check o comprobación que no se cómo se hace.....

Gracias de nuevo
 
Upvote 0
Sin embargo, no hay forma de que Excel pase a la siguiente celda con solo presionar 1, ya que no se puede correr macros mientras Excel esté en modo edición.

Se podría lograr con la tecla Enter ?

Con la tecla enter propiciar el cambio (o marcado o no marcado ) y que pasara a la celda inferior.

Con la tecla hacia abajo que pasara de una celda a otra sin cambio.

Y que el signo prefijado fuera cualquiera, un check por ejemplo, que creo se puede hacer con un tipo de letra y la "a" de ese tipo de letra.

Gracias otra vez
 
Upvote 0
Intente con esto. Hay que correr el macro "SetKeys" para que las teclas "Enter" cambien de funcionalidad. El macro "UnsetKeys" las hace funcionar normalmente.

Hay que cambiar el tipo de letra de la columna que tendrá los checks a "Windings", y cambiar la constante "CHECKMARK_COLUMN" al número correcto. Asumí la columna D:D, que es la columna número 4.

Code:
Option Explicit

Sub SetKeys()
    Application.OnKey "{Enter}", "RunIt"
    Application.OnKey "~", "RunIt"
End Sub

Sub UnsetKeys()
    Application.OnKey "{Enter}"
    Application.OnKey "~"
End Sub

Sub RunIt()
    Dim rng As Range
    
    Const CHECKMARK_COLUMN As Long = 4  'D:D
    Const CHECK_STRING As String = "ü"  'Windings font
    
    If TypeName(Selection) = "Range" Then
        Set rng = Selection
    Else
        Exit Sub
    End If
    
    If rng.Column <> CHECKMARK_COLUMN Then
        Select Case Application.MoveAfterReturnDirection
        Case XlDirection.xlDown
            rng.Offset(1).Select
        Case XlDirection.xlToRight
            rng.Offset(, 1).Select
        Case XlDirection.xlUp
            rng.Offset(-1).Select
        Case XlDirection.xlToLeft
            rng.Offset(, -1).Select
        End Select
        Exit Sub
    End If
    
    If rng.Value = CHECK_STRING Then
        rng.Value = ""
    Else
        rng.Value = CHECK_STRING
    End If
    
    rng.Worksheet.Cells(rng.Row + 1, 1).Select
    
End Sub
 
Upvote 0
No veo interacción.
Lo que he intentado es :

Abro mi libro en cuestión.
Voy a la hoja donde quiero proponer la lista de comprobación

sobre la pestaña de la misma botón derecho ratón e introduzco el código aportado. Pero no noto cambio.

Qué procedimiento tengo que seguir.

Propuse en vez de la columna D:D , la columna F:F
 
Upvote 0
El código hay que copiarlo en un módulo normal... Alt F11 - Insertar - Modulo, y pegarlo ahí.

Luego hay que ejecutar el macro "SetKeys" y ya, ahí si debe funcionar al hacer Enter sobre la columna D (o la F si se modifica el código).
 
Upvote 0

Forum statistics

Threads
1,213,494
Messages
6,113,974
Members
448,537
Latest member
Et_Cetera

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top