Hola a todos!.

Ya tenía ganas de escribir una nueva publicación, eran días sin publicar nada pero sí contestar muchas consultas 🙂

El post de hoy es una UDF muy sencilla que surge como respuesta a la consulta de un lector. Lo que solicitaba era poder añadir un dato después de un determinado carácter en una cadena alfanumérica.

Es decir, si tengo esto:

d4GE1k65cInFJD2x7VXWBfYqhe9N38bPrusoTaRlzjKiAOLCpt

Y deseo que después de todas las «a» (distinguiendo minúsculas y mayúsculas) se añada esto: ****, el resultado debería ser este:

d4GE1k65cInFJD2x7VXWBfYqhe9N38bPrusoTa****RlzjKiAOLCpt

Pues bien, esto lo vamos a hacer con una UDF, que me parece más elegante para presentarlo.

Este es el código que acabo de programar hace un rato y funciona correctamente:

Option Explicit
Public Function AÑADIR_D(Micelda As String, cter, del)
    'Declaramos variables
    Dim i           As Double, MiDel As String
    Dim sCadena     As String
    With ActiveSheet
        For i = Len(Micelda) To 1 Step -1
            'Si detectamos el carácter seleccionado
            If Mid(Micelda, i, 1) = cter Then
                MiDel = del
            End If
            'Añadimos añadirmos el delimitador a la nueva cadena
            sCadena = Mid(Micelda, i, 1) & MiDel & sCadena
            MiDel = vbNullString
        Next i
        AÑADIR_D = sCadena
    End With
End Function

Creo que se entiende perfectamente y además he comentado todo el código. Seleccionáis la celda con la palabra, luego indicáis el carácter que de necesario buscar y luego el texto o dato a añadir. Debéis utilizar comillas en los dos argumentos.

Y esto es todo, espero que os sea de utilidad!

Descarga el archivo pulsando en:

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post