Reemplazar texto segun cantidad de caracteres

5 envíos / 0 nuevos
Último envío
gcami.0558
Imagen de gcami.0558
Offline
última acción: Hace 6 años 7 meses
alta: 26/07/2017 - 18:55
Puntos: 35
Reemplazar texto segun cantidad de caracteres

Hola buenas tardes,

Quisiera saber como hacer para que despues de cierta cantidad de caracteres una celda cambie su contenido a "varios".

por ejemplo: tengo un campo para ingresar numeros de cuentas, en donde solo se deberian ingresar 20 caracteres pero lo que pasa es que aveces tengo numeros de varias cuentas entonces quisiera que si sobrepasa los 20 digitos la celda diga "varios" en ves de acumularse bastantes digitos.

espero su respuesta gracias de ante mano.

 

Cron
Imagen de Cron
Offline
última acción: Hace 7 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Me ha gustado la pregunta. Se

Me ha gustado la pregunta. Se puede hacer, utilizando el formato condicional.

Simplemente crea una regla. En la ventana que se abre selecciona "Utilice una fórmula que determine las celdas para aplicar formato"

En el espacio donde te permite escribir, pon lo siguiente (suponiendo que estás dando el formato a la celda A1, y para cambiar el valor a partir de 21 caracteres):

=LARGO(A1)>20

Es importante que, si escribes el A1 (o la celda que sea) haciendo click sobre la hoja, elimines los símbolos $ que se te pondrán. Así podrás copiar el formato a cualquier otra celda y te funcionará correctamente.

Una vez escrita la fórmula, ahora tenemos que definir el formato. Para ello pulsa en el botón que pone Formato...

Selecciona la pestaña "Número", y ahí marca "Personalizada". El formato personalizado es para números y texto, y tiene esta estructura:

POSITIVO ; NEGATIVO ; CERO ; TEXTO

Es decir, el primer formato es para números positivos, el segundo para negativos... y van separados por el separador que tengas configurado. En mi caso, el punto y coma.

Así que es lo que vamos a hacer. En el recuadro donde dice "Tipo:", borra lo que haya y escribe esto:

0 ; 0 ; 0 ; "Varios"

Acepta las dos veces que te lo pide y ya está. A partir de ahora, cuando la celda contenga una cadena con más de 20 caracteres, el usuario verá "Varios". Sin embargo, el valor escrito permanecerá, como podrás ver en la barra de fórmulas o si editas la celda.

 

Un saludo

gcami.0558
Imagen de gcami.0558
Offline
última acción: Hace 6 años 7 meses
alta: 26/07/2017 - 18:55
Puntos: 35
Reemplazar texto segun cantidad de caracteres

Muchas gracias por la respuesta, solo tengo una duda habra alguna forma de de que cambie el texto por completo?, el asunto es que tengo que revisar y realizar modificaciones en una base muy extensa de excel. Por eso es que quiero saber si es posible cambiar todos los caracteres por el texto "Varios".

Cron
Imagen de Cron
Offline
última acción: Hace 7 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Si lo que quieres es

Si lo que quieres es "machacar" el valor, yo utilizaría una columna auxiliar con un condicional.

 

Un saludo

nadamoli
Imagen de nadamoli
Offline
última acción: Hace 6 años 7 meses
alta: 31/07/2017 - 16:11
Puntos: 55
Hola gcamiPodrías hacer que

Hola gcami

Podrías hacer que una macro recorra el rango en donde tienes los números de cuenta y que, a aquellos que superen la cantidad de dígitos indicada, les modifique el texto por "varios".
El ejemplo que te adjunto busca los datos en la columna A:A hasta que encuentre una celda en blanco y a aquellos con una longitud mayor a 20 caracteres les cambia el valor por Varios y el color de fuente a rojo.

Espero que te sirva

Sub Corroborar_cuentas()
Range("A1").Select

Do While ActiveCell.Value <> vbNullString

    If Len(ActiveCell.Value) > 20 Then

        With ActiveCell

            .Value = "Varios"

            .Font.Color = RGB(255, 0, 0)

        End With

    End If

    ActiveCell.Offset(1, 0).Select

Loop
End Sub