ayuda función

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

ayuda funcií³n

Notapor morfeo » 05 Jul 2006 18:29

Hola amigos del foro, en esta oportunidad les escribo para solicitar su ayuda.

Teniendo en cuenta que en alguna oportunidad encontre en este foro una función que me permite extraer solo los datos numericos de una celda, aun cuando en ella existe valores y texto juntos.

De manera atenta les solicito me colaboren para ver si ya ha sido publicada, o si ustedes tienen una función que solo me extraiga de una celda el TEXTO sin numeros.

Agradezco su colaboración
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
morfeo
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2005 13:00

Notapor galileogali » 05 Jul 2006 20:05

PARA ENTENDER MAS CLARAMENTE LO QUE NECESITAS, podrias poner un ejemplo?
GALI
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: ayuda funcií³n

Notapor p@li » 05 Jul 2006 20:43

creo haber entendido lo que necesitas

una posible solucion, una funcion que en una sola linea reemplaza todos los numeros del 0 al 9 por cadenas vacias, quedando solamente el texto.
ejemplo:

Private Sub Prueba()
Dim TextoSinNumeros As String
TextoSinNumeros = ExtraerTexto("pablo1750@hotmail.com")
End Sub

Private Function ExtraerTexto(ByVal TxtIn As String) As String
ExtraerTexto = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(TxtIn, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")
End Function



saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Re: ayuda funcií³n

Notapor sailepaty » 06 Jul 2006 00:42

Seguramente que existe algún código mas corto pero como diaria el estimado ST ante la falta de conocimiento el ingenio ayuda. Así­ que otra forma con la opción de escoger si deseas regresar la cadena a evaluar con los números o el texto serí­a:

Código: Seleccionar todo
Function ReturnVal(preVal As String, Optional strType As String)
    Dim postVal As String
    Dim lenStr  As Byte
    For lenStr = 1 To Len(preVal)
        Select Case Mid(preVal, lenStr, 1)
            Case 0
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 1
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 2
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 3
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 4
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 5
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 6
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 7
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 8
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case 9
                postVal = postVal & IIf(strType = "S", "", Mid(preVal, lenStr, 1))
            Case Else
                postVal = postVal & IIf(strType = "S", Mid(preVal, lenStr, 1), "")
        End Select
    Next lenStr
 
   ReturnVal = postVal

End Function


Ejemplo la celda A1 contiene la cadena: A0B1C2D3E4F5G6H7I8J9

Entonces la formula [b]=ReturnVal(A1,â€
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: ayuda funcií³n

Notapor sailepaty » 06 Jul 2006 07:35

Aquí­ una versión mas corta.

Código: Seleccionar todo
Function ReturnVal(preVal As String, Optional strType As String)
    Dim postVal As String
    Dim lenStr  As Byte
    For lenStr = 1 To Len(preVal)
        If InStr("0123456789", Mid(preVal, lenStr, 1)) <> 0 Then
            postVal = postVal & IIf(StrConv(strType, vbUpperCase) = "S", "", Mid(preVal, lenStr, 1))
        Else
            postVal = postVal & IIf(StrConv(strType, vbUpperCase) = "S", Mid(preVal, lenStr, 1), "")
        End If
    Next lenStr
   
   ReturnVal = postVal

End Function

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: ayuda funcií³n

Notapor p@li » 06 Jul 2006 10:47

sailepaty evidentemente no viste la funcion que yo mande, seria mejor que intentaras mejorar esa, ya que no usa for next, ni if else, y resuelve el tema en una sola linea.

saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
p@li
Miembro Frecuente
Miembro Frecuente
 
Registrado: 04 Oct 2005 16:55
Ubicación: Argentina

Re: ayuda funcií³n

Notapor sailepaty » 06 Jul 2006 11:05

Hola P@li,

Seguro que mire tu función y me parece una solución interesante. La diferencia que tiene esta es que te da la oportunidad de seleccionar si deseas que te regrese el texto o los números como explique en el primer post.


Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: ayuda funcií³n

Notapor morfeo » 06 Jul 2006 12:25

Señores del foro.......
En verdad no saben la ayuda que me han prestado muchí­simas gracias....
la verdad todas las posibilidades que me han expuesto me han sido súper útiles en una o otra ocasión.

En verdad estoy profundamente agradecido.


Gracias
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
morfeo
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2005 13:00


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados