UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se puede subir archivos al foro, favor de hacerlo en servidor externo (Dropbox, Drive...) y dejan link. "Sin archivo no hay respuestas"

Favor de leer "Todos los temas" Click aquí.

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1RESUELTO sumar.si.conjunto traducida a VBA el 05/03/15, 06:11 pm

someone


Hola amigos, soy nuevo y quisiera hacer una consulta acerca de VBA, soy novato, pero he aprendido un poco de este tema y por eso clamo por su ayuda.

Les doy una introducción a mi libro. Tengo dos hojas (1 y 2), en la hoja1 tengo unos datos que son; Item, Cantidad, Fecha, en este rango estoy colocando la info necesaria. En la hoja2, tengo usando las columnas B,C para colocar sus respectivas sumas por fechas e item.

Grabe la lógica de la macro con la grabadora y le anexe un código para que me arroje las sumas de los items hasta la ultima fila llena, me quedo bien, pero lo que solicito es como hacer el procedimiento de la forma:

 Application.WorksheetFunction.SumIfs

He estado buscando y leyendo acerca de esta forma, pero no logro encontrar nada parecido a lo que requiero. Espero me puedan ayudar con esto amigos programadores. Gracias por todo.
Archivos
someone.zip
No tienes los permisos para descargar los archivos.
(17 KB)

Igtelo

avatar
Hola Someone.

Van 2 ejemplos y explicados, sólo que usé SUMAPRODUCTO, SUMACONJUNTO  no la utilizo; se me hace una función demasiado larga y me hago "bolas" con ella.

Te dejo varios enlaces de nuestro foro, aquí hubieras encontrado lo que buscas.

http://www.universoexcelforo.com/t1169-formulas-al-traves-de-macros-tutorial

http://www.universoexcelforo.com/t1181-como-trabaja-una-macro-y-la-hoja-de-calculo-simultaneamente-videotutorial

http://www.universoexcelforo.com/t1166-como-utilizar-la-ayuda-de-vba-tutorial

http://www.universoexcelforo.com/t747-funciones-para-utilizar-con-worksheetfunction-aporte

En aportes de los usuarios y tutoriales tienen mucho material.

"Aguas" no somos programadores, somos usuarios de lo que crearon los verdaderos programadores. Ojalá supiera un poquito de lo que ellos saben.
Archivos
Someone-Sumaproductomacro.zip
No tienes los permisos para descargar los archivos.
(22 KB)

someone


Hola Igtelo, gracias por tu respuesta, pero creo que no me explique bien.

Lo que buscaba era evitar este tipo de formulas: 

[e4].Formula = "=sumproduct((Hoja1!$A$2:$A$9=B4)*(Hoja1!$C$2:$C$9>=E$1)*(Hoja1!$C$2:$C$9<=E$2)*(Hoja1!$B$2:$B$9))" 

Es decir, buscaba un método con el cual se pudiese obtener el mismo resultado pero sin tener la formula en la hoja en cada celda porque cuando son muchos datos el libro se vuelve muy pesado y se alenta la respuesta de excel, buscaba un método similar que solo me arrojara el resultado como valor por eso comencé a leer acerca de la opción application.worksheetFunction y encontré un ejemplo, solo que no es muy similar y no lo he podido adaptar. En si buscaba una forma mas eficaz de llevar a cabo esta rutina.

Igtelo

avatar
Que tal Someone.

Creo que no has analizado...

Te adjunto archivo con explicación y con las 2 funciones, SUMAPRODUCTO y SUMAR.SI.CONJUNTO como quieres, la que dice SUMA_CONJUNTO2 tiene un bucle y ya te deja sólo los valores, pero no te lo recomiendo, es mejor usar fórmulas y después copiar y pegar como está en la de idioma local.

Analiza todas para que veas diferencias.

Si aún te quedan dudas, me dices.
Archivos
Someone-Sumaproductomacro2.zip
No tienes los permisos para descargar los archivos.
(25 KB)
Someone-Sumaproductomacro2.zip
No tienes los permisos para descargar los archivos.
(25 KB)

someone


Hola Igtelo, muchas gracias. Lo que me mandaste de ultimo me ha servido mucho, es justo lo que buscaba. Comenzaré a leer y practicar mas para mejorar.

6RESUELTO Ayuda el 04/06/18, 08:10 pm

alemaniadavid


Buena tarde amigos.

Por favor ayudenme, tengo un problema similar, la verdad ya busque por todos los medios y nadamas no doy con el resultado, les anexo el archivo, prometo ayudar a mas persona y mas gente, que tengan el mismo problema, pero sin su ayuda me sera imporsible.

Por problemas de tamaño de archivo, no lo pude poner aqui, les coloco el codigo, lo que pasa es que solo me lo ejecuta en una celda:

Sub sumaB()
Dim i, j As Integer
Dim dato As Range
Dim filas As Integer
Dim carro As String
Dim act As String
Dim mes As String
Dim tipo As String
Dim suma As Double

carro = Range("unidad")
act = Range("A4")
mes = Range("b2")
tipo = Range("b3")
suma = 0

For i = 1 To Worksheets.Count
filas = Worksheets(i).Cells(Rows.Count, 4).End(xlUp).Row
For j = 2 To filas
                If Worksheets(i).Cells(j, 2).Value = carro And Worksheets(i).Cells(j, 1).Value = act And Worksheets(i).Cells(j, 4).Value = mes And Worksheets(i).Cells(j, 3).Value = tipo Then
                suma = suma + Worksheets(i).Cells(j, 5).Value
                End If
            Next j
       Next i
Range("total") = suma
End Sub

Saludos cordiales.

Igtelo

avatar
Hola David.

Lee las normas del foro y el anuncio que está al inicio en todas las páginas.

Saludos
Ignacio Téllez

8RESUELTO Gracias el 05/06/18, 12:30 pm

alemaniadavid


Buen dia.

Habrire un nuevo tema, gracias por la respuesta Smile

Saludos cordiales

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.