Necesito ayuda con mi función para mostrar nombres de Microsoft Excel
Tengo otras dos dudas haber si me pueden ayudar, estoy escribiendo una
función que al leer un nombre si tiene ciertos nombres los quite y me tome
como valor del nombre lo que reste, el código lo escribí así pero al
probarlo no me aparece nada a lo mejor las instrucciones están mal, si lo covierto en una macro si funciona solo eol nombreadepurar hago referencia a una celda y el resultado nombredepurado también hago la referencia a una celda.
Function Depurar(NombreADepurar As String)
IF (Mid(NombreADepurar, 1, 6)) = "DE LA "
KK = 7
ELSEIF (Mid(NombreADepurar, 1, 3)) = "DE "
KK = 4
ELSEIF(Mid(NombreADepurar, 1, 2)) = "Y "
KK = 3
ELSEIF (Mid(NombreADepurar, 1, 4)) = "DEL "
KK = 5
ELSEIF(Mid(NombreADepurar, 1, 10)) = "MA DE LOS "
KK = 11
ELSEIF (Mid(NombreADepurar, 1, 9)) = "MA DE LA "
KK = 10
ELSEIF (Mid(NombreADepurar, 1, 7)) = "MA DEL "
KK = 8
ELSEIF (Mid(NombreADepurar, 1, 12)) = "MARIA DE LA "
KK = 13
ELSEIF (Mid(NombreADepurar, 1, 9)) = "MARIA DE "
KK = 10
ELSEIF (Mid(NombreADepurar, 1, 10)) = "MARIA DEL "
KK = 11
ELSEIF(Mid(NombreADepurar, 1, 6)) = "MARIA "
KK = 7
ELSEIF (Mid(NombreADepurar, 1, 5)) = "JOSE "
KK = 6
ELSEIF (Mid(NombreADepurar, 1, 8)) = "JOSE DE "
KK = 9
Else
KK = 1
End Select
NOMBREDEPURADO = Mid(NombreADepurar, KK, 30)
End Function
DE ESTA FORMA SI CORRE COMO UNA MACRO NORMAL AL AGREGARLE UN VALOR A
"nombreadepurar" y al nombredepurado donde me pondrá el valor, de esa forma
si corre, pero con esta función no hace nada.
Y en esta función a partir de un numero quiero extraer los dos últimos
numero y si este es menor a 10 que me agregue un cero al izquierda de valor
para que me quede si es 1 por decir sea 01 si es 0 que sea 00
Function dos(numero As Long) As String
Dim RES As Long
For i = 2 To Len(numero)
RES = Right(numero, 2)
If RES < 10 Then
RES = 0 & numero
End If
End Function
Muchas gracias espero que me puedan ayudar
función que al leer un nombre si tiene ciertos nombres los quite y me tome
como valor del nombre lo que reste, el código lo escribí así pero al
probarlo no me aparece nada a lo mejor las instrucciones están mal, si lo covierto en una macro si funciona solo eol nombreadepurar hago referencia a una celda y el resultado nombredepurado también hago la referencia a una celda.
Function Depurar(NombreADepurar As String)
IF (Mid(NombreADepurar, 1, 6)) = "DE LA "
KK = 7
ELSEIF (Mid(NombreADepurar, 1, 3)) = "DE "
KK = 4
ELSEIF(Mid(NombreADepurar, 1, 2)) = "Y "
KK = 3
ELSEIF (Mid(NombreADepurar, 1, 4)) = "DEL "
KK = 5
ELSEIF(Mid(NombreADepurar, 1, 10)) = "MA DE LOS "
KK = 11
ELSEIF (Mid(NombreADepurar, 1, 9)) = "MA DE LA "
KK = 10
ELSEIF (Mid(NombreADepurar, 1, 7)) = "MA DEL "
KK = 8
ELSEIF (Mid(NombreADepurar, 1, 12)) = "MARIA DE LA "
KK = 13
ELSEIF (Mid(NombreADepurar, 1, 9)) = "MARIA DE "
KK = 10
ELSEIF (Mid(NombreADepurar, 1, 10)) = "MARIA DEL "
KK = 11
ELSEIF(Mid(NombreADepurar, 1, 6)) = "MARIA "
KK = 7
ELSEIF (Mid(NombreADepurar, 1, 5)) = "JOSE "
KK = 6
ELSEIF (Mid(NombreADepurar, 1, 8)) = "JOSE DE "
KK = 9
Else
KK = 1
End Select
NOMBREDEPURADO = Mid(NombreADepurar, KK, 30)
End Function
DE ESTA FORMA SI CORRE COMO UNA MACRO NORMAL AL AGREGARLE UN VALOR A
"nombreadepurar" y al nombredepurado donde me pondrá el valor, de esa forma
si corre, pero con esta función no hace nada.
Y en esta función a partir de un numero quiero extraer los dos últimos
numero y si este es menor a 10 que me agregue un cero al izquierda de valor
para que me quede si es 1 por decir sea 01 si es 0 que sea 00
Function dos(numero As Long) As String
Dim RES As Long
For i = 2 To Len(numero)
RES = Right(numero, 2)
If RES < 10 Then
RES = 0 & numero
End If
End Function
Muchas gracias espero que me puedan ayudar
1 Respuesta
Respuesta de fejoal
1