Sume los números de dígitos en una celda usando la función VBA personalizada en Microsoft Excel

Tabla de contenido

En este artículo, crearemos una función personalizada para calcular la suma de dígitos en una celda.

Los datos de muestra para este ejemplo consisten en datos de ventas. Cada agente ha vendido un producto diferente. En una celda tenemos el recuento del artículo vendido seguido del nombre del producto. Queremos encontrar el artículo total vendido por cada agente.

Hemos creado la función "SumDigits" para calcular la suma de dígitos en la celda. Esta función toma el rango de celda como entrada y devuelve la suma de dígitos en la celda.

Explicación lógica

Hemos creado la función personalizada "SumDigits" para calcular la suma de dígitos en una celda. En esta función, encontramos la longitud de la cadena en la celda y luego hacemos un bucle desde el primer carácter hasta el último carácter de la cadena. Luego, buscamos y sumamos los valores numéricos encontrados en la cadena para obtener la suma de dígitos.

Explicación del código

Medio (Número, i, 1)

La función Mid se utiliza para extraer la subcadena de la cadena principal. El código anterior extraerá un carácter de la cadena principal a la vez.

IsNumeric (valor)

La función IsNumeric se usa para verificar si el valor dado es numérico.

Val (valor)

La función Val se utiliza para convertir la cadena en un valor numérico.

Siga a continuación para obtener el código

 Opción Función explícita SumDigits (número como variante) Dim i como entero para i = 1 a Len (número) Si es numérico (medio (número, i, 1)) entonces sumaDígitos = sumaDígitos + Val (medio (número, i, 1)) Finalizar si siguiente i Finalizar función 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave