** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Array/Matriz: guardar en variables valores repetid
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Array/Matriz: guardar en variables valores repetid

 Responder Responder
Autor
Mensaje
JuanAl Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 23/Junio/2023
Localización: Chile
Estado: Sin conexión
Puntos: 1
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita JuanAl Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Array/Matriz: guardar en variables valores repetid
    Enviado: 23/Junio/2023 a las 06:38

Hola, estoy usando una matriz para buscar Artículos repetidos en la columna “R” de hoja Excel (ASG 61,10,2) y guardarlos en variables.

Al Seleccionar OptionButton1:

La condición es, si un Artículo (“R”) del Almacén (“J”) = 200, tienen cantidad Cnt!Asig (“V”) < cantidad Cnt!Ord (“U”) entonces que se sumen cada una de esas cantidades y se guarden en variables. Así debe recorrer hasta el final de toda la hoja (ASG 61,10,2) para guardar cantidades de todos los artículos que cumplan esa condición en variables para después cargarlos en un ListBox

Al Seleccionar OptionButton2:

-Se debe repetir el mismo evento para el Almacén 300

Al Seleccionar OptionButton3:

-Se debe repetir el mismo evento para el Almacén 400

Al Seleccionar OptionButton4:

-Se debe repetir el mismo evento para el Almacén 300

 

Al Seleccionar CheckBox1:

La condición es, si un Artículo (“R”) del Almacén (“J”) =200, Área (“AN”) = 5° y 6° tienen cantidad Cnt!Asig (“V”) < cantidad Cnt!Ord (“U”) entonces que se sumen cada una de esas cantidades y se guarden en variables. Así debe recorrer hasta el final de toda la hoja (ASG 61,10,2) para guardar cantidades de todos los artículos que cumplan esa condición en variables para después cargarlos en un ListBox

Al Seleccionar CheckBox2:

-Se debe repetir el mismo evento para el Almacén 200 y Área RM

Al Seleccionar CheckBox3:

-Se debe repetir el mismo evento para el Almacén 200 y Área Norte

 

Adjunto el Archivo. La duda que aún no logro resolver esta en esta parte del código:

UltimaFila = WS1_TS.Range("J" & Rows.Count).End(xlUp).Row 'Obtiene el valor de la ultima fila con datos

Dim Arr As Variant 'Vector que contendra los datos de la hoja Worksheets("ASG 61,10,2")

    Arr = WS1_TS.Range("A2:AT" & UltimaFila).Value2

Dim VR_CD_Quiebre200() As Variant ''Vector adimensional que se transformara en bidimensional para contener los datos de la busqueda y luego cargarlos en el listbox Detalle_Quiebre

    For I = LBound(Arr) To UBound(Arr) 'Recorre desde el indice menor hasta el mayor de la hoja de excel

        Almacen_Quiebre200 = Arr(I, 10)

        'Articulo_Quiebre200 = Arr(I, 18)

        If Almacen_Quiebre200 = 200 And Arr(I, 23) < Arr(I, 21) And _

           Application.WorksheetFunction.CountIf(Range("R2:R" & UBound(Arr)), Range("R" & LBound(Arr))) > 1 Then

           Articulo_Quiebre200 = Range("R" & LBound(Arr)).Value 'cargar en una variable los articulos repetidos


Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5990
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AnSanVal Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 23/Junio/2023 a las 21:35
Existen usuarios que consideran que las macros (todas) son el enemigo número 1, y otros que todo lo quieren hacer con macros (no me refiero a que este sea el caso). Ambos casos son extremos y 'los extremos' son mala compañía.

En este ejemplo sencillo (668 filas) resuelvo con Tabla dinámica.

Nombre CntAsig CntOrd Importe
Nazario Bravo Espínola S T 112,35 € CntAsig V
Jesús Arcas Ayala U V 148,50 € CntOrd U
José Ángel Brítez Carrizo V T 188,55 €    
Juan Blanco Cardozo Y T 417,16 € Etiquetas de fila Suma de Importe
Juan Blanco Cardozo U V 110,06 € Ana Rosa Correa Cardozo 397,74 €
Manuel Blanco Cardozo V V 122,76 € Jesús Arcas Ayala 344,60 €
Juan Blanco Cardozo V U 134,50 € José Ángel Brítez Carrizo 662,34 €
Nazario Bravo Espínola X Y 87,05 € Juan Blanco Cardozo 814,21 €
Manuel Blanco Cardozo W V 39,34 € Martín Alonso Escobar 99,04 €
Jesús Arcas Ayala Y Y 34,63 € Sebastián Del Pino Carrizo 380,21 €
María Aguirre Abreu S V 72,69 € Total general 2.698,14 €
María Duarte Ávila T X 336,93 €
Manuel Blanco Cardozo U V 358,96 €
Nazario Bravo Espínola U T 101,14 €
Sebastián Del Pino Carrizo U W 230,53 €
José Ángel Brítez Carrizo Y S 455,74 €
María Duarte Ávila W W 275,94 €
Isabel Pérez Cáceres U U 485,61 €
Dolores Días Arias Y T 142,20 €
María Aguirre Abreu T U 96,54 €
Jesús Arcas Ayala Y W 411,19 €
Dolores Días Arias Y V 412,78 €
José Ángel Brítez Carrizo V W 145,44 €
Dolores Días Arias V V 276,66 €
María Duarte Ávila V X 464,10 €
Manuel Blanco Cardozo S U 326,65 €
Juan Blanco Cardozo Y Y 278,44 €
Nazario Bravo Espínola X V 210,03 €
Nazario Bravo Espínola X X 167,74 €

No pretendo que este ejemplo sea lo que buscas, ya que (sinceramente) no sé en que rango tienes tus datos, ni como los tienes organizados, ni que quieres conseguir (sólo es una idea).





Editado por AnSanVal - 23/Junio/2023 a las 21:50
Saludos desde Tenerife.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable