Hola a todos y feliz año!!
Este es el primer post de 2021 y espero que os resulte interesante!. Para esta nueva temporada he querido comenzar con un poco de programación en typescript.
La idea es la de replicar una de mis UDF’s de VBA en typescript, en concreto la función SumarV.
Con esta función lo que se consigue es sumar todos los caracteres numéricos de una celda o de un rango, se suman los números naturales de ese rango, caracter a caracter.
Por ejemplo, de esta cadena: addreYYY254ff1 vamos a sumar la parte numérica: 2+5+4+1: es decir: 12
Para conseguir esto con typescript yo he escrito la siguiente función:
/**
* @customfunction
* @param {string[][]} MiRango
*/
function SumarV(MiRango) {
let MiCadena: ''
let sum = 0;
//Agrupamos elementos seleccionados
MiRango.forEach(nCadena => {
nCadena.forEach(nValor => {
MiCadena += nValor;
})
})
//Eliminamos todo caracter no númerico
var Numeros: string = MiCadena.replace(/[^0-9]/g, "");
let nNumero = Numeros.split('');
//Sumamos todos los números caracter a caracter
for (let i = 0; i < nNumero.length; i++) {
sum += +(nNumero[i])
}
return sum
}
En este caso, me gustaría resaltar los parámetros para seleccionar rangos (muy importante) y la técnica utilizada. Primero unir todas las cadenas o elementos del rango seleccionado, a continuación eliminar caracteres no numéricos y finalmente sumar la cifra resultante número a número.

Y esto es todo, como podéis observar he replicado perfectamente la función creada en VBA por typescript.
: )
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies