Saltar al contenido

Buscar valores en una hoja y trasladar los datos a nueva hoja


Recommended Posts

publicado

Que tal espero me pueda ayudar en como resolver lo siguiente, Requiero que se realize la busqueda de los valores contenidos en una de las hojas y si coinciden entonces tomar ciertos valores de esa columna para ser copiadas en una tercer hoja donde se alojaran todas las coincidencias.

La operacion seria de la siguiente forma.

Se realiza la busqueda en la hoja "Cob" en la fila C Si se encuentra alguna coincidencia con los elementos de la hoja "bd" de la fila M se realizara la copia de la hoja "BD" de solo las filas F,H,J,K,M a la hoja "HOJA2" en las filas N,O,P,Q,R.

No se si me di a entender adjunto archivo con el cual estoy trabajando.

fiscales.rar

publicado

Hola:

Prueba con esta macro.

Sub Copiar()
Application.ScreenUpdating = False
n = 3
For x = 3 To Sheets("bd").Range("A" & Rows.Count).End(xlUp).Row
If Sheets("bd").Range("M" & x).Value <> "" Then
Set Contrato = Sheets("Cob").Range("C:C").Find(Sheets("bd").Range("M" & x).Value)
If Not Contrato Is Nothing Then
Sheets("bd").Range("A" & x & ":M" & x).Copy Sheets("Hoja2").Range("A" & n)
Sheets("Hoja2").Range("N" & n) = Sheets("Cob").Range("M" & Contrato.Row)
Sheets("Hoja2").Range("O" & n) = Sheets("Cob").Range("J" & Contrato.Row)
Sheets("Hoja2").Range("P" & n) = Sheets("Cob").Range("K" & Contrato.Row)
Sheets("Hoja2").Range("Q" & n) = Sheets("Cob").Range("F" & Contrato.Row)
Sheets("Hoja2").Range("R" & n) = _
Format(CDate(Sheets("Cob").Range("H" & Contrato.Row)), "dd/mm/yyyy")
n = n + 1
End If
End If
Next
Application.ScreenUpdating = True
End Sub
[/CODE]

publicado

Gracias Marco Antonio, solo que al momento de correr la macro me indica los siguiente

Se ha producido el error 9 en tiempo de ejecucion subindice fuera del intervalo

cuando le doy depurar esta es la linea a la cual me envia

Sheets("bd").Range("A" & x & ":M" & x).Copy Sheets("Hoja2").Range("A" & n)

Tengo que modificar alguno de los valores?

publicado

¡ Ah ! También me ha sucedido a mi, el nombre de la Hoja2 contiene un espacio al final del nombre, quitáselo y funcionará sin problemas.

publicado

Macro Antonio mil gracias si funciono, deja sigo validando con mas ejemplos, En serio gracias!!!!

- - - - - Mensaje combinado - - - - -

Y ahora si se requiere realizar lo inverso es decir que todos los que no coincidan los envie a hoja2 y los que coincidan esos no los copie, que cambios habria que realizar en la formula? la idea seria tener ambas macros para cuando se necesita una u otra informacion.

  • 2 weeks later...
publicado

Como puedo aplicar la misma macro para que ahora discrimine es decir que todos los que no coincidan o que no existan en el listado de la hoja BD los copie a la hoja Hoja2?

- - - - - Mensaje combinado - - - - -

Se me ocurre lo siguiente basandome en un ejemplo que encontre aqui mismo en los foros, pero al momento de ejecutarlo me indica un error no lo logro decifrarlo ya le di varias vueltas igual y es sencillo pero no doy me podrian echar la mano.

El boton "limpiar coincidencia" debe de comparar si existe contenido de cada celda en la columna m en la hoja2 contra el contenido de las celdas de la columna C en la hoja Cob y en caso de que el valor lo encuentre entonces eliminara el contenido de la hoja COb en toda la fila donde se localize el valor, `para lograr esto lo que estoy realizando es sustituir el valor de cada celda por """" con esto logro dejarlo en blanco.

Esa es la idea pero no funciona aun.

- - - - - Mensaje combinado - - - - -

No puedo agregar el archivo por lo cual abrire un nuevo tema para poder adjuntarlo.

- - - - - Mensaje combinado - - - - -

Este caso lo pueden dar como cerrado ya que la problematica inicial quedo resuelta

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.