Foro
=> ¿No se ha registrado todavía?MAS EN: EXCEL AVANZADO
Foro - Hacer búsqueda y mover contenido a otra celda automáticamente
Se encuentra aqui: Foro => Macros => Hacer búsqueda y mover contenido a otra celda automáticamente |
|
Fredes (Visitante) |
Hola, me gustaría saber si es posible hacer una búsqueda de un texto en una columna de datos y cada vez que lo encuentre moverlo a una celda contigua o en una posición determinada. Ej: son preguntas de tipo test. A B 1 Pregunta:... x 2 a)cada 2 meses ' 3 b)cada 3 meses ' 4 c)cada semestre ' 5 d)anualmente ' 6 Solución: B ------------x 7 Pregunta:... 8 a) 9 b) 10 .... Tengo en la columna A miles de preguntas, respuestas y soluciones y me gustaría saber si se puede hacer una búsqueda de la palabra o la celda donde está la palabra "Solución" y moverla o bien a la celda Bx contigua (ej: de A6 a B6)o mejor a la celda B que esté 5 líneas antes (Ej: de A6 a B1) y esto de forma automática para toda la columna. He realizado búsquedas y reemplazos en Word para dejar la columna como está, pero no he encontrado nada en el procesador de texto que me permita buscar y mover. Tampoco en Excel en los menús principales por lo que imagino que tendrá que hacerse con una programación. He visto los post dedicados a búsquedas, pero no tengo conocimiento sobre Excel y no sé como se podrían adaptar a este caso. Gracias por permitirme comentar. Un cordial saludo. PD: espero que el ejemplo quede bien maquetado. No he podido hacer vista previa antes de publicarlo. | |||
Fredes (Visitante) |
He encontrado una media solución que me resuelve de momento el problema. Sub Buscarymover() Do Until IsEmpty(ActiveCell) Cells.Find(What:="Texto_a_buscar", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate ActiveCell.Select Selection.Cut ActiveCell.Offset(-5, 1).Range("A1" ![]() ActiveSheet.Paste ActiveCell.Offset(6, -1).Range("A1" ![]() Loop End Sub Hace un recorrido por la columna de datos hasta que encuentra una celda vacía que se supone que es el final de los datos, donde Texto_a_Buscar es lo que queremos encontrar y mover. Lo que no sé si es el mejor código para hacer el trabajo. Falla cuando encuentra una celda vacía en mitad de la columna de datos, por lo que hay que ejecutar de nuevo la macro o haber limpiado las filas vacías previamente con las opciones de menú del propio Excel (F5--> "celdas vacías" y luego ir al menú de eliminar filas). |
Respuesta:
Temas totales: 40
Entradas totales: 95
Usuarios totales: 208
En este momento conectados (usuarios registrados): Nadie
