¿Cómo sumar un conjunto de números usando VBA?
Corrección:
La suma de los dígitos de 881571915957 debe ser: 66
6+6=12
1+ 2= 3
Entonces el resultado final es 66123
El código de referencia es el siguiente (tenga en cuenta que se utiliza el tipo de datos LongLong de 64 bits)
El rango de LongLong es: -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
La plataforma utilizada es: Office 2010 o versión superior ¿Opción?Explícito
'?############## ###### ################
'?[Descripción de la función]?Obtener la suma de los dígitos del número entero dado.
'?[Lista de parámetros]?Núm. entero.
'?[Tipo de retorno]?LongLong?(64 bits).
'?##### ######## ######################
¿Pública?Función?GetTotal(ByVal?Num?As?LongLong )?As?LongLong p>
Si?Num?0?Entonces
Num?=?Abs(Num)
Fin?Si
Si?Num? 10?Entonces
GetTotal?=?Num
Si no
GetTotal?=?GetTotal(Num?\?10 )?+?Num?Mod ?10
Fin?Si
Fin?Función
Público?Sub?Prueba()
Dim?llTotal?As?LongLong
Dim?llNum?As?LongLong
Dim?strOutput?As?String
llNum?=?881571915957^ p>
llTotal? =?GetTotal(llNum)
strOutput?=?CStr(llTotal)
Mientras?llTotal?>=?10
llTotal?=?GetTotal(llTotal )
strOutput?=?strOutput?&?CStr(llTotal)
Wend
MsgBox?strOutput,?vbInformation,? "Salida"
End?Sub
El resultado después de ejecutar el proceso de prueba es: