Cómo agregar condiciones a macro que extrae valores únicos

Les pido ayuda para agregar 3 condicionales a la siguiente macro, la cual extrae valores únicos del rango 'Resma' (que está en el mismo libro, en la Hoja1) y los coloca en la Hoja2, a partir de B3... Desde ya les agradezco mucho.

Los cambios que necesitaría la macro son:

  1. Que los datos los extraiga de una tabla que está en otro libro, el cual se llama 'Facturación y Backlog', la tabla se llama 'FYB', los datos a extraer están en la hoja 'ABM', y el rango de donde extraer los datos se llama 'Clientes' (J3:J).
  2. Que al realizar la extracción de valores únicos, la macro tenga en cuenta 3 condicionales: (a) Que en el rango 'País' (C3:C) diga 'España'. (b) Que en el rango 'Hito' (Q3:Q) diga 'Alta'. (c) Que el rango 'Fecha' (O3:O) sea >= a la fecha 01-01-2021.

Sub VentaCliente()

Dim celda As Object

Dim i As Integer

Application.ScreenUpdating = False

Set unicos = New Collection
For Each celda In Range("Resma")
On Error Resume Next
unicos.Add celda.Value, CStr(celda.Value)
On Error GoTo 0
Next celda
For i = 1 To unicos.Count
Sheets("Hoja2").Range("B3").Offset(i - 1, 0).Value = unicos(i)
Next i

Application.ScreenUpdating = True

End Sub

Respuesta
2

Si estás interesado en aprender sobre macros, te recomiendo los siguientes:

Sobre el uso de matrices:

https://youtu.be/bmCJzc59K3I 

https://youtu.be/FRvI9loM7ns 

Sobre diccionarios:

https://youtu.be/f_x8pstpNqc 

https://youtu.be/oAQ4e-m_m7g 

Sal u dos

Dante Amor

Gracias Dante... La verdad que no soy experto en esto. Más bien quería saber si me podían ayudar agregándole a la macro que pasé la necesidad que he planteado... ¿es posible?

1 respuesta más de otro experto

Respuesta
2

Respondiendo a esta parte de tu consulta: Que los datos los extraiga de una tabla que está en otro libro.

En el video Nº 84 trato el tema de cómo llamar a otros libros, ubicados en relación al libro activo. Y en los comentarios dejé 2 ejemplos para cuando se encuentren en otra ubicación:

Sub Libros_en_otro_Disco()
ruta = "D:\AL_TRABAJO_2023\Javi_Prueba_IMAGENES\Datos\"
libro = "Consultas Julio.xlsm"
Workbooks.Open (ruta & libro)
End Sub

Sub Libros_en_un_Servidor()
ruta = "\\EMPRESA\Sucursal1\Depto.Pedidos\Marketing y ventas\"
libro = "Consultas Julio.xlsm"
Workbooks.Open (ruta & libro)
End Sub

Desde el Blog podrás copiar el código completo o descargar el libro con el ejemplo publicado.

https://youtu.be/r5o1mcNtMEk 

https://elsamatilde.blogspot.com/2024/07/84-como-llamar-otros-libros-para.html 

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas