Saltar al contenido

Sumar y agrupar columna en funcion de una condicion


Recommended Posts

Hola, soy nuevo en esto y estoy intentanco encontrar una funcion o macro para que sume la cantidad total de cada articulo si este tiene el mismo precio, llevandolo todo a otra hoja, el articulo que no se repita o

no tenga el mismo precio tambien quiero que me lo lleve a la misma hoja colocandolo correlativamente, subo ejemplo de la plantilla por si alguien me puede ayudar, gracias.

[TABLE]

[TR]

[/TR]

[TR]

[/TR]

[TR]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right]Estoy intentando subir un ejemplo pero no puedo.

[/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD=align: right][/TD]

[TD][/TD]

[TD=align: right][/TD]

[/TR]

[TR]

[TD][/TD]

[TD][/TD]

[TD][/TD]

[/TR]

[/TABLE]

sumar articulos.xls

Enlace a comentario
Compartir con otras webs

Dado que en tu ejemplo no has incluido cómo debería ser la solución, intentaré asegurarme de saber lo que necesitas con una pregunta....jejeje

¿Necesitas que en la hoja 2 aparezca, por ejemplo, 8 Kgrs. Peras a 0,8, dado que sería la suma de 1 y 7 ó 14 Kgrs. Manzanas a 0,9 pues es la suma de 2 y 12?

Sin embargo, los 2 Kgrs. de Arroz a 1,15 no los podrías sumar a los de 1,1, no? Porque doy por hecho que no es lo mismo...

Por cierto, asegúrate de que incluyes los conceptos siempre igual, pues en tu ejemplo, en la fila 8 entre Kgrs. y Peras no hay ningún espacio........y eso puede hacer que no lo reconozca como el mismo valor que el de la fila 2, que sí tiene ese espacio......Como consejo, nada más.....:glee:

Confírmame, por favor, que estoy en lo cierto con mis preguntas ó sube otro archivo ejemplo con la solución pretendida...

Un saludo,

Tese

Enlace a comentario
Compartir con otras webs

Correcto, y los articulos que no tengan el mismo precio o no se repitan tambien quiero que me los pase a la hoja 2, gracias y perdona por no subir ejemplo con la solucion, es la primera vez que lo hago y no me di cuenta.

Enlace a comentario
Compartir con otras webs

No te preocupes, el único pero es que así la factura te saldrá un poco más cara.......jejeje....por lo de la intuición y todo eso....:barbershop_quartet_

Voy a darle una vueltecilla y en cuanto tenga algo, lo subo.....

Un saludo,

Tese

Enlace a comentario
Compartir con otras webs

Es perfecto, lo unico que le falta es que me admita lineas en blanco para distinguir los dias de venta, es decir despues de los dos Kgrs. Arroz a 1,15 dejar una linea o varias en blanco y continuar poniento articulos y que a la hora de ejecutar la macro me lo unifique todo como hace ahora mismo pero sin darme error ya que lo he probado y al darle al boton ignora lo que haya en las filas inferiores a la fila en blanco, gracias,por lo demas funciona perfecto.

Enlace a comentario
Compartir con otras webs

¿Te das cuenta por qué es importante el archivo ejemplo para conocer la estructura?

En tu ejemplo todos los datos están sin líneas en blanco, de ahí que yo estructurara el código para que al encontrar una línea en blanco diera por terminado el proceso.

Si quieres sube un ejemplo más cercano al "real" y modificamos un par de líneas del código, que tampoco hay que tocar mucho.....jejejej

Chao,

Tese

Enlace a comentario
Compartir con otras webs

Aqui te mando un ejemplo de lo que quiero, el ejemplo seria tal cual para poder introducir un numero indeterminado de dias ya que unos meses tienen mas dias que otros, y ante todo pedirte perdon por no mandarte el ejemplo antes, muchas gracias

EJEMPLO.xls

Enlace a comentario
Compartir con otras webs

Bueno, pues ya está...........ahí tienes la versión 2......

Se me ha ocurrido que cada vez que ejecutes la macro, lo primero que haga sea borrar los datos de la Hoja2 (de la columna A a la C) para que los datos estén totalmente actualizados.

Mira a ver si ahora va mejor......jejeje

Un saludo,

Tese

EJEMPLO-1_Tesev2.xls

Enlace a comentario
Compartir con otras webs

Hola tese1969, he probado la macro con los siguientes articulos y me da fallo, en la hoja1 te marco con rojo los articulos que me ignora y no se porque, y en la hoja2 te marco tambien con rojo el articulo 18 Saco Cemento 25 Kgrs. que me lo saca en el listado y no tendria que salir ya que el total de sacos de Cemento son 37 que me los pone mas arriba, te agradeceria que le hechases un vistazo

EJEMPLO-2_Tesev2.xls

Enlace a comentario
Compartir con otras webs

No sé si te lo vas a creer, pero todo ocurría por un mísero "1" de más en una variable!!!.......jejejeje

Prueba ahora y me cuentas......

Yo para comprobarlo fácilmente he sumado las cantidades en una y otra hoja y me salen idénticas (no así los importes, que es la variable para agrupar), por tanto están incluidas todas.......

Un saludo,

Tese

EJEMPLO-2_Tesev3.xls

Enlace a comentario
Compartir con otras webs

Pues escribe algo así como "Tema Solucionado", para que los administradores puedan cerrarlo.

Un saludo y si eres de Madrid, te pido que tengas en cuenta mi firma.....(el texto que aparece al final del mensaje)

Tese

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 97 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
    • Agradecido Antoni! Tus sugerencias me ayudaron mucho! Como pudiese hacerte llegar el archivo?
    • Prueba este código. Sin el archivo no te puedo ajustar más. Private Sub btnCargaBancos_Click() 'El tipo de dato debe especificase para cada variable Dim TasaCompra As Double, TasaVenta As Double, InvBanesco As Double, InvVzla As Double Dim MontoBanesco As Double, MontoVzla As Double, TasaDiaBan As Double, TasaDiaVzla As Double Dim TasaActual As Double 'Hay que comprobar que los textbox tienen contenido numérico 'Los datos numéricos solo pueden contener números y el separador decimal, cualquier otro caracter dará error al convertir If Not IsNumeric(txtInverBanesco) Or _ Not IsNumeric(txtInverVzla) Or _ Not IsNumeric(txtTasaCompra) Or _ Not IsNumeric(txtTasaVenta) Then MsgBox "Los datos deben ser numéricos", vbCritical Exit Sub End If InvBanesco = CDbl(txtInverBanesco) InvVzla = CDbl(txtInverVzla) TasaCompra = CDbl(txtTasaCompra) TasaVenta = CDbl(txtTasaVenta) 'Los datos de los divisores no pueden ser 0 (Indeterminación matemática) If TasaCompra = 0 Or _ InvBanesco = 0 Or _ InvVzla = 0 Then MsgBox "Los datos no admiten valor cero", vbCritical Exit Sub End If MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055) TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then TasaActual = TasaDiaBan Else TasaActual = TasaDiaVzla End If 'En VBA, los datos numéricos no admiten ser formateados, formatear directamente en las celdas, 'MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) 'MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) 'TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco = MontoBanesco txtBcoVenezuela = MontoVzla txtTasaDiaria = TasaActual End Sub  
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.