Foro VBATotal

Aprender a programar en Visual Basic

Por favor, o Regístrate para crear mensajes y debates.

Agregar filas masivas con criterios

Buenos días amigos espero estén bien

Necesito saber si es posible que una macro pueda buscar Datos (Código y Cantidad) en la Hoja3 (MATRIZ) que correspondan al mes descrito en la Celda “C10” de la Hoja32 (FORMATO) y al dar Click en el Botón Actualizar se inserten en la Primera Fila de cada tabla la cantidad de filas necesarias para que los Datos extraídos de la Hoja3 (MATRIZ) queden registrados simultáneamente de acuerdo con su Código (Columna “A”) y ordenados de mayor a menor según su Cantidad (Columna “C”):

En la primera tabla se deben tomar como referencia los Códigos de la Columna “AS” (Código 1) de la Hoja3 (MATRIZ) mientras que para la Cantidad se deben tomar como referencia las Cantidades descritas en la Columna “AT” (Cantidad 1) de la misma hoja en esta tabla cuando más de un evento comparta un mismo Código en la Columna “A” las cantidades correspondientes a dichos códigos deberán ser sumadas y ordenadas de mayor a menor en la Celda homónima de la Columna “A” que corresponda en la Columna “C”.

Para las Tablas 2 al 9 cada Código representa una unidad en sí mismo y en los casos donde más de un evento compartan un mismo Código en la Columna “A” cada código deberá ser sumado (como una unidad) y ordenado de mayor a menor en la Celda homónima de la Columna “A” que corresponda en la Columna “C”.

He intentado añadir filas masivamente en las 9 tablas de forma simultánea sin éxito ya que con cualquier combinación de la siguiente macro únicamente logro añadir filas en la primera tabla:

Option Explicit

Sub Actualizar()

' Añadir Filas en Tablas
With Hoja32
.Activate
.Rows("1:38").Select
.ListObjects(1).ListRows.Add (1)
End With

End Sub

En la imagen 1 hay una muestra del resultado esperado

Mucho les sabre agradecer la ayuda que me puedan brindar

Archivos subidos:
  • Tienes que conectarte para acceder a las subidas.

Hola Jues!

¿Puedes simplificar el ejemplo? Es un poco lioso todo. Haces referencia a la Hoja 3 y solo hay dos hojas. Por favor, dale un repaso y vuelve a plantearme el problema que tienes.

Saludos.

Por favor, si te he ayudado, haz clic en algún banner publicitario. Es una gran manera de ayudarme. También puedes realizar una donación en Paypal por la cantidad que desees https://paypal.me/vbatotal

1. Necesito que una macro busque en las Columnas Código (AJ8, AK8, AL8, AM8, AN8, AO8, AS8, AT8, AU8) de la Hoja MATRIZ, tomando como Criterios la Celdas $C$10 y $C$11 de la Hoja FORMATO.

2. Los códigos que cumplan con los criterios deberán ser insertados por la macro en la tabla que le corresponda (Tablas 2 al 9) ordenando los datos según su Código en la Columna “A” y de mayor a menor según su Cantidad en la Columna “C” de la Hoja FORMATO.

3. Cuando en la Tabla 2 exista más de un evento comparta el mismo Código en la Columna “A” de la Hoja FORMATO solo podrá aparecer un solo código que represente a todos los eventos en dicha columna mientras que en la Columna “C” de la Hoja FORMATO las cantidades correspondientes a dichos códigos deberán ser sumadas y ordenadas de mayor a menor.

4. Cuando en las Tablas 3 al 9 exista más de un evento comparta el mismo Código en la Columna “A” de la Hoja FORMATO solo podrá aparecer un solo código que represente a todos los eventos en dicha columna mientras que en la Columna “C” de la Hoja FORMATO las cantidades correspondientes a dichos códigos deberán ser contadas y sumadas como una unidad y ordenadas de mayor a menor.

Hola!

Gran parte de lo que necesitas se encuentra en los ejercicios prácticos del Curso de VBA para Excel. A continuación te dejo el link:

https://www.vbatotal.com/curso-vba-excel/

Si te queda alguna duda, puedes preguntármela por aquí.

Si necesitas mis servicios de programación, igualmente puedo ayudarte.

Saludos.

Por favor, si te he ayudado, haz clic en algún banner publicitario. Es una gran manera de ayudarme. También puedes realizar una donación en Paypal por la cantidad que desees https://paypal.me/vbatotal

Contacto