¿Es posible rellenar previamente una celda de Excel?

0

Actualmente estoy trabajando en un archivo de Excel que recopila productos, su EAN y algunos otros datos. Me preguntaba si hay una función dentro de Excel para rellenar previamente las celdas que contienen el EAN con el prefijo, de modo que cuando hago clic en la celda, solo tengo que ingresar los últimos dígitos del código. Sé que puedo ingresar el prefijo y luego tengo que mover el cursor hasta el final cuando quiero los dígitos, pero eso no es realmente conveniente.

He pensado en usar VBA (algo así como si hay un cambio de celda con una cadena de dígitos en esta columna, lo modificará al EAN real, de lo contrario lo borrará) pero si ya hay algo que puede hacerlo en Excel , ¿por qué no usarlo?

Aquí está el ejemplo según lo solicitado.

Suponemos que el prefijo es 12345678 y quiero ingresar solo la última parte de 5 dígitos. Lo que pregunto es si hay una forma de rellenar previamente las celdas a continuación, por lo que cuando hago clic o selecciono la celda a través de la pestaña o ingresar, solo necesito ingresar los últimos 5 dígitos, no necesito hacer clic otra vez en el cuadro de texto para colocar mi cursor al final.

Sushignago
fuente
1
Un ejemplo podría ser útil.
jcbermu
Lo he agregado en la edición.
Sushignago
1
Si solo necesita mostrar el número completo, no usarlo realmente (o compararlo en una búsqueda), puede hacer que el prefijo forme parte del formato de número. Solo los últimos dígitos se almacenarían en la celda, pero el prefijo se incluiría en la pantalla.
Fixer1234
Gracias, mi problema está resuelto, lo he respondido yo mismo y
cerraré

Respuestas:

2

El método fixer1234 es lo que estaba buscando, he creado un formato personalizado utilizando el formateo de celdas.

En mi ejemplo, el prefijo era 12345678 y estaba buscando 5 dígitos, por lo que el formato era:

"12345678" 00000

"12345678" es el prefijo, entre comillas para considerarlo como una cadena.

00000 es el código de cinco dígitos, usé ##### al principio, pero cuando había algunos ceros a la izquierda del código, no se mostraban.

Entonces, si quiero mostrar 1234567800045 en una celda, solo coloco 45.


Si quiere usar el valor completo y no lo que se muestra por alguna razón, mire la respuesta de jc bermu usando VBA.

Pero tenga cuidado con la ejecución de macros en un archivo XL, debe habilitar las macros por razones de seguridad y enviar el archivo por correo electrónico podría considerarse como correo no deseado.

Sushignago
fuente
0

Esta macro es un buen punto de partida:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    eancolumn = 1
    Prefix = "1234"
    therow = Target.Row
    thecolumn = Target.Column
    If eancolumn = thecolumn Then
        If Target.Value <> "" Then
            If IsNumeric(Target.Value) Then
                Target = Prefix & Target.Value
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub

Abra Macros con ALT+ F11, haga doble clic en Sheet1 en el lado izquierdo y pegue el código en el lado derecho. Este código se ejecuta Sheet 1cada vez que hay un cambio. La variable eancolumndetermina en qué columna se agregará el prefijo.

jcbermu
fuente