Estoy tratando de ordenar filas en función de múltiples valores. En este ejemplo, estoy tratando de separar el "Producto SN" correspondiente (Columna M) y el "Nombre CE" (Columna L) que tienen un Código de acción "220 - Componente reemplazado" (Columna N) en una hoja y las que no tienen " 220 "en otra hoja.
P.ej
- C-666 LC011169 no tiene un "220" presente y debe estar en una hoja
- C-958 LC011169 tiene un "220" y debe estar en su propia hoja
Sé que esto puede parecer confuso, pero tendré que clasificar cientos de líneas de pedido como esta todos los días y estoy trabajando para simplificar el proceso.
Una versión simplificada se vería como la imagen de abajo (donde X = Reemplazado ):
Para ir aún más lejos, estoy tratando de combinar los "códigos de síntomas" (columna O) una vez que se completa la primera operación. Este es mi objetivo final donde los Símbolos son los Síntomas :
Respuestas:
Experimenté con algunos VBA para ordenar y copiar.
Consulte el archivo xlsm vinculado al final para obtener más información.
Entonces, lo que tenemos aquí es un código VBA que clasifica la información original (simplemente copiando, sin tocar la lista original) en tres tablas nuevas.
Que hace:
Lo que no hace:
También incluye una macro para borrar las tablas ordenadas. Esto también se puede usar para borrar las tablas antes de ordenar por segunda vez, para evitar duplicados.
Código de clasificación (lo más probable es que esto se pueda mejorar, pero se está haciendo tarde):
Código para limpiar las tablas:
Archivo: https://drive.google.com/open?id=0B_8icTMsheWfTUV0YjJCaElmTkU
EDITAR
Actualice el código para hacer lo que comentó (creo):
Como puede ver aquí, utilizo
Instr
para obtener una coincidencia parcial en una cadena, en lugar de un valor absoluto, ya que la celda contiene más que solo el número.Si desea verificar, por ejemplo, diferentes números de serie, puede asignar ese valor a una variable e ingresar el número de serie que desea ordenar en un cuadro de texto.
No me molesté en cambiar el nombre de las hojas, pero solo uso dos de las hojas en este ejemplo.
Aclaración sobre cómo escribir la declaración If: observe el paréntesis alrededor de OR:
fuente