Saltar al contenido

Macro para búsqueda de palabra, copia y pegado de resultados


Recommended Posts

publicado

Buena tarde a todos los foristas, espero se encuentren bien.

El motivo de este tema es el siguiente: En una hoja "BASE" tengo una serie de artículos y sus respectivos párrafos. Lo que deseo es que en la hoja "BUSQUEDA" pueda buscar una palabra o un artículo, de tal forma que me copie en esa hoja todos los resultados que encuentre en la hoja "BASE".

Dado que con lo expuesto seguramente no me entenderán, adjunto un ejemplo, de cómo está estructurado el archivo y un ejemplo de los resultados que quisiera alcanzar. Si me pudieran ayudar, se los agradezco desde ya.

De nuevo, muchas gracias por la atención y el apoyo brindado siempre.

Feliz tarde.

Att. Pedro

BUSQUEDA.xls

publicado

Hola, esta macro extrae los datos en la primera hoja, te dejo de tarea el moverlos a la otra hoja:

Sub Macro1()
Application.ScreenUpdating = 0
Sheet1.Select
[E1:E77] = "=IF(COUNT(SEARCH(""naturales"",A1)),A1,"""")"
[C1:C77] = "=IF(COUNT(SEARCH(""ARTICULO*"",A1)),A1,0/0)"
[D1:D77] = "=IF(E1="""","""",C1)"
Columns(3).SpecialCells(xlCellTypeFormulas, 17).FormulaR1C1 = "=R[-1]C"
[D1:E77].Value = [D1:E77].Value
[D1:E77].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Columns(3).Clear
Columns(4).Replace What:=".—", Replacement:=""
Columns(5).WrapText = True
Range("D2").Select
Application.ScreenUpdating = 1
End Sub[/CODE]

publicado

Omiti una linea, debe ser asi:

Sub Macro1()
Application.ScreenUpdating = 0
Sheet1.Select
Columns(5).ColumnWidth = 79
[E1:E77] = "=IF(COUNT(SEARCH(""naturales"",A1)),A1,"""")"
[C1:C77] = "=IF(COUNT(SEARCH(""ARTICULO*"",A1)),A1,0/0)"
[D1:D77] = "=IF(E1="""","""",C1)"
Columns(3).SpecialCells(xlCellTypeFormulas, 17).FormulaR1C1 = "=R[-1]C"
[D1:E77].Value = [D1:E77].Value
[D1:E77].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Columns(3).Clear
Columns(4).Replace What:=".—", Replacement:=""
Columns(5).WrapText = True
Range("D2").Select
Application.ScreenUpdating = 1
End Sub[/CODE]

publicado

Buena tarde Armando Montes:

Muchísimas gracias por el apoyo brindado, me ha servido un montón y esto será base para adaptarlo a mis necesidades.

De acuerdo a lo que anotas, utilizas la función Si, Contar y Buscar. Dichas funciones las he utilizado alguna vez en excel, sin embargo no entiendo qué función tienen las dobles comillas, por ejemplo acá:

IF(COUNT(SEARCH(""naturales"",A1)),A1,"""")[/CODE]

.

¿Alguien podría indicarme dicha función?

De nuevo, mil gracias por la ayuda.

Felíz fin de semana.

publicado

Hola @[uSER=136970]Armando Montes[/uSER] . Lamentablemente no agregué una segunda consulta en la pregunta anterior, dicha pregunta era la siguiente: Dado que el número de filas que estará ocupada con información en la columna "A" es variable, hay forma de indicar que Excel utilice el rango "A1:A última fila"?

Traté de adaptar con esta sentencia, sin embargo, no me funcionó:

Range("E" & Rows.Count).End(xlUp).Row = "=IF(COUNT(SEARCH(""naturales"",A1)),A1,"""")"[/CODE]

De nuevo, gracias por su atención.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.