Dígitos pares e impares de un numero

Quisiera saber si hay alguna función que me extraiga la dígitos pares por un lado y por otro los dígitos impares de un número.
Ejemplo
Los dígitos pares de 1234567 serán 2, 4, 6
y los dígitos impares serán 1, 3, 5, 7

1 Respuesta

Respuesta
1
No la hay, al menos que yo sepa, pero se puede hacer, la siguiente función te extrae los números pares de otro un número entero...
Public Function ExtraePares(ByVal Numero As Long) As String
Dim strNum As String
Dim co1 As Integer
Dim strPar As String
Dim dig As String
strNum = Format(Numero)
For co1 = 1 To Len(strNum)
dig = Mid(strNum, co1, 1)
If (dig Mod 2) = 0 Then
strPar = strPar & dig
End If
Next co1
ExtraePares = strPar
End Function
Tu tarea es hacer la función que te extraiga los impares.
Antes de hacer la función que extraiga los impares, debo hacer correr la presente, para lo que necesito alguna ayuda.
¿Donde y como aplico la función)
El valor de ejemplo lo tengo en cualquier celda de la columna A y quiero que en la celda adyacente en la columna B me calcule la suma de los dígitos pares de la celda en A.
¿Cómo aplico la función, haciendo referencia a la celda de la columna A?
¿Tengo qué utilizar algún argumento para completar la función?
Como ves estoy un poco verde, pero soy un enamorado de excel, y a ser posible te pediría un ejemplo de aplicación,
y algún comentario sobre lo que hace cada comando en la función en cuestión para desarrollar la de los impares
Gracias por tu tiempo y ayuda
Para saber donde y como lee el siguiente articulo...
http://www.vbalym.netfirms.com/excel/exfun1.html
El uso de la función es "IGUAL" que cualquier otra función de Excel, si eres -enamorado- de este programa, sabrás como hacerlo, en tu primer mensaje no especificaste que querías la SUMA de los dígitos, te recomiendo ser mucho más claro, la función modificada quedaría así...
Public Function SumaPares(ByVal Numero As Long) As Long
Dim strNum As String
Dim co1 As Integer
Dim lngPar As Long
Dim dig As String
strNum = Format(Numero)
For co1 = 1 To Len(strNum)
dig = Mid(strNum, co1, 1)
If (Val(dig) Mod 2) = 0 Then
lngPar = lngPar + Val(dig)
End If
Next co1
SumaPares = lngPar
End Function
Mauricio
No te ofendas pero te hace falta mucha claridad para explicar lo que quieres, la siguiente función hace lo que quieres (espero), si no aparezco entre los Expertos es que los usuarios NO finalizan sus preguntas, mucho te agradeceré que finalices esta, gracias...
Option Explicit
Public Function SumaPares(ByVal Numero As Long) As Long
Dim strNum As String
Dim co1 As Integer
Dim lngPar As Long
Dim dig As String
strNum = Format(Numero)
For co1 = 2 To Len(strNum) Step 2
dig = Mid(strNum, co1, 1)
lngPar = lngPar + Val(dig)
Next co1
SumaPares = lngPar
End Function
Amigo Mauricio
Anteriormente había dado por finalizada esta pregunta, de hecho la había planteado como nueva, Gracias por vuestra colaboración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas