If con varias causisticas |
Responder |
Autor | ||||||||||||||||||||||||
algohe
Nuevo Unido: 25/Junio/2020 Localización: Madrid Estado: Sin conexión Puntos: 10 |
Opciones de entrada
Gracias(0)
Enviado: 06/Noviembre/2020 a las 10:10 |
|||||||||||||||||||||||
Buenos días y gracias por la ayuda antes de todo.
Tengo un excel donde hay varios campos por los que tengo que filtrar, pero son campos opcionales si estan rellenos filtra por el campo si esta vacio lo ignora, el problema que tengo es que no se como construir el IF para que valore todo. Seria en vba ya que es codigo que va dentro de una macro. Pongo un ejemplo de lo que necesitaria. campo 1 relleno--> filtro campo 2 vacio --> lo ignoro campo 3 relleno --> filtro campo 4 relleno --> filtro Aquí filtraría por todos los campos ignorando el 2, pero los 4 campos pueden estar vacios, rellenos, unos rellenos y otros vacios.... Gracias
|
||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5974 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Con los datos aportados, yo no puedo saber como son tus datos ni donde están, por tanto no puedo recrear la situación de tu modelo de datos.
Usa la Grabadora de Excel y filtra desmarcando celdas vacías. |
||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||
algohe
Nuevo Unido: 25/Junio/2020 Localización: Madrid Estado: Sin conexión Puntos: 10 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Interate explicar un poco mejor.
Tengo un excel en el cual añaden una seria de datos de un material que luego se tienen que usar para filtrar en otro excel, tengo ancho, largo, grosor, espesor, etc.... Estos campos no son obligatorios es decir puede estar relleno solo largo y buscaría solo largo en la otra lista de materiales o puede tener 3 campos rellenos y entonces tendría que filtrar por los 3. La idea es si el campo esta vacio no filtres y si esta relleno filtras por ese campo tambien. Digamos que lo que necesitaria es crear un If "dinamico" que filtre por los campos por datos ignorando los vacios.
|
||||||||||||||||||||||||
SkaryBlondi
Habitual Unido: 24/Octubre/2020 Localización: Asturias Estado: Sin conexión Puntos: 89 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Yo lo resolvería a groso modo del siguiente modo if campo1 <> "" then If condicion = "" then condicion = campo1 else condicion = condicion & " or " & campo1 end if end ifif campo2 <> "" then If condicion = "" then condicion = campo2 else condicion = condicion & " or " & campo2 end if end ifif campo3 <> "" then If condicion = "" then condicion = campo3 else condicion = condicion & " or " & campo3 end if end ifif campo4 <> "" then If condicion = "" then condicion = campo4 else condicion = condicion & " or " & campo4 end if end ifTendrás que aplicar a cada filtro una etiqueta y luego hacer mención al rango o bien apuntar directamente a la celda que contiene el valor. Saludos, |
||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5974 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
1.- … hay varios campos…(¿Cuáles, como, donde?) 2.- campo 1
relleno--> filtro (¿Campo relleno: a)
toda la columna, b) sólo una celda?) 3.- campo 2
vacio --> lo ignoro (¿Campo vacío: a)
toda la columna, b) sólo una celda?) 4.- Tengo un
excel1 en el cual añaden una seria de
datos de un material que luego se tienen que usar para filtrar
en otro Excel1, tengo ancho,
largo, grosor, espesor, etc... (4 es prácticamente lo mismo que en 1, 2, y
3) . Importante è Las instrucciones que damos en
VBA (macros) deben ser totalmente precisas, incluso si le damos un rango y
funciona, pero mañana modificamos el
rango la macro dejaría de funcionar con corrección. Por tanto es necesario conocer: rango
correcto, si ese rango va a variar en número de filas, etc. Se necesita
una imagen (con datos inventados pero fieles) y algún ejemplo claro de lo que quieres
obtener en algún supuesto concreto. 1) è (para entendernos) Excel es la
aplicación que te vino con OFFICE, un libro no es un Excel, un libro está compuesto de hojas. |
||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||
algohe
Nuevo Unido: 25/Junio/2020 Localización: Madrid Estado: Sin conexión Puntos: 10 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Intentare ser lo mas detallado posible:
En una hoja tengo una seria de campos (adjunto imagen), esos campos se pueden o no rellenar y hacen de filtro en otra hoja donde tengo no listado de materiales. Con estos valores mas otros que son obligatorios (que esos simplemente hago un if en la macro) realizo una búsqueda en otra hoja y muestro los resultados. Realizar la búsqueda de los campos obligatorios y mostrar los resulto es fácil, el problema lo tengo cuando quiero crear un if con los campos que no son obligatorios porque si contemplo todos los casos se hace un if gigantesto e imagino que habrá otra forma mas sencilla de hacerlo pero no logro encontrarla. Se que a través de formulas en Excel se puede hacer pero necesito que sea a través de una macro porque luego con esos datos que tengo que realizar mas procedimientos. Gracias
|
||||||||||||||||||||||||
algohe
Nuevo Unido: 25/Junio/2020 Localización: Madrid Estado: Sin conexión Puntos: 10 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
https://ibb.co/GsPvskD
este es el enlace de la imagen
|
||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5974 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Si tu ejemplo tiene un sólo registro, no necesitas filtrarlo.
Así entiendo que hayas ignorado lo de «... algún ejemplo claro de lo que quieres obtener...», con un sólo registro no puedes mostrar un ejemplo filtrado. Y si tú no puedes... imagínate yo. Sigo a la espera de que que decidas mostrar algo más parecido a tu modelo de datos y ejemplo(s) de lo que quieres obtener. Yo sigo sin poder ver que quieres decir con: «... campo 1 relleno--> filtro, campo 2 vacío --> lo ignoro...». (seguramente para ti está claro). |
||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||
RodriguezA
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 25/Noviembre/2020 Localización: España Estado: Sin conexión Puntos: 2 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Creo que si eres un poco más detallista te podemos ayudar
|
||||||||||||||||||||||||
Marciana
Asiduo Unido: 20/Septiembre/2004 Localización: Argentina Estado: Sin conexión Puntos: 323 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Hoa A ver si esto puede ayudar. Hice este ejemplo tonto: Una tabla con datos:
Este código lo generé grabando la macro: Sub filtro() Range("C1").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=1, Criteria1:="1" ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=2, Criteria1:="2" ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=3 End Sub Y este fue el resultado.
Para seleccionar los valores nulos (sin dato) de la columna A va esto: ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=1, Criteria1:="=" |
||||||||||||||||||||||||
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina |
||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5974 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||
Hola RodriguezA, hola marciana, no debemos preocuparnos demasiado por este tema. algohe no está muy dispuesta/o a dejarse ayudar.
Tened en cuenta que le pedí sólo 2 cosas sencillas (para intentar ayudarle): 1.- Una imagen (con datos inventados pero fieles) 2.- Un ejemplo claro de lo que quiere obtener con el ejemplo de la imagen aportada. Aportó la imagen pero no dijo (de esos datos) cuales quería pasar a la otra hoja, claro que con un sólo registro... no es necesario filtrar, pero... si no se deja ayudar (está en su derecho), no podemos obligarle. |
||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |