Array/Matriz para guardar en variables valores repetidos de una columna y después cargar ListBox
Publicado por Juan (200 intervenciones) el 23/06/2023 04:07:15
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
La condición es, si un
del
= 200, tienen cantidad
cantidad
entonces que se sumen cada una de esas cantidades y se guarden en variables. Así debe recorrer hasta el final de toda la
para guardar cantidades de todos los artículos que cumplan esa condición en variables para después cargarlos en un
Al Seleccionar
-Se debe repetir el mismo evento para el
300
Al Seleccionar
:
-Se debe repetir el mismo evento para el
400
Al Seleccionar
-Se debe repetir el mismo evento para el
300
Al Seleccionar
La condición es, si un
del
=200,
= 5° y 6° tienen cantidad
cantidad
entonces que se sumen cada una de esas cantidades y se guardan en variables. Así debe recorrer hasta el final de toda la
para guardar cantidades de todos los artículos que cumplan esa condición en variables para después cargarlos en un
Al Seleccionar
-Se debe repetir el mismo evento para el
200 y
RM
Al Seleccionar
:
-Se debe repetir el mismo evento para el
200 y
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

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 guardan 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

- ASG_ListBox.rar(1,7 MB)
Valora esta pregunta


0