PDA

Ver la Versión Completa : Macros en Excel. Función similar a CONTAR.SI


Delphius
04-05-2007, 04:41:33
Buenas foristas, esta vez no vengo por Delphi... sino por Excel (2003) y macros.
No se si hay alguien que las use... espero que si... Necesito implementar una función parecida a la CONTAR.SI

La función CONTAR.SI lo que hace es contar en el rango de celdas si se cumple una condición. Por ejemplo: CONTAR.SI(A1:A10,"a") devuelve la cantidad de "a" que hay entre las celdas A1 y A10 (incluídas éstas).

La función que estoy tratando de realizar debe hacer algo como esto:


For i := low(Rango_A_Analizar) to Higth(rango_A_Analizar) do
if Rango_Marca[i] = marca
then continue
else if Rango_Marco[i] = condición
then inc(cant);


Es decir que si en alguna posición cualquiera del rango al que llamo Rango_Marca, no deba tenerlo incluído en la cuenta del rango a analizar.
Es decir que mantengo dos rangos, uno en donde estarán los elementos a contar y el otro donde estarán las marcas.
Por tanto, ambos rangos tienen el mismo tamaño.

Ambos rangos son de una sola dimensión. Me limito a buscar en filas.

Se que con las macros no me he llevado bien... mucho no las he usado... perdí o presté mi libro de excel.

Desde ya muchas gracias.
Saludos,

PD: A último momento, estoy dudando si este hilo debería ir aquí o en windows. Si alguien consedera moverlo no hay problema.

Robert01
04-05-2007, 19:38:34
Delphius, no me queda claro lo que necesitás. Si lo que te hace falta es una macro de excel, yo tengo muchas, podríamos ver si se pueden modificar para que cumpla con tus requierimientos o si laguna hace eso.

saludos

Delphius
04-05-2007, 20:11:40
Gracias Robert01 por ayudarme.

Estuve viendo la lista de funciones que dispone Excel... y no hay alguna que me permita realizar lo que deseo. Estuve intentando "concatenar" funciones para tratar de hacerlo... pero a decir verdad no funciona... es por ello que me fui directo a las macros.

Tratando de recordar un poquito de lo que sabía... intenté (en vano como ven) codificar la función que deseo.

Tengo que admitir, que desconozco si existe alguna función o macro que permita contar al estilo que busco.

Podría hacer todos los cálculos a mano... pero para un total de 441 filas..
como que está "para volverse mono".

Saludos,

Robert01
05-05-2007, 00:23:51
Delphius, te puedo mandar unos módulos en vba de la macros sumar.si, creo que te puede servir. No sesi excel 2007 usa código visual basic para las macros.
El problema que tengo es que no se como se envían atachments desde el foro por lo cual necesito saber tu correo.

saludos

Delphius
05-05-2007, 04:15:09
Muchísimas gracias Robert01. Mi dirección de correo la puedes obtener de mi perfil: marcecuadrado[arroba]yahoo.com.ar

Saludos,

Delphius
11-05-2007, 22:16:46
Muchas gracias Robert01 por ofrecer tu ayuda al final me ganó. Tengo muy oxidado VB, y las macros....

Al final decidí hacer todo a mano... y bueno... por fin terminé.... me tomó tiempo pero lo hice;). Eran un total de 441 filas a analizar...

Para la próxima me hago un programita en Delphi que me genere todo en un archivo excel... aprendí mi lección:):

VB y Macros no se llevan bien comigo.

Saludos,