Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Excel - Copiar filas de varias hojas con condicion en otra diferente

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:14/10/2011 14:29:37
Hola,
Llevo investigando por internet y todavía no se si es posible hacer lo siguiente con Excel, os cuento:

Tengo 3 hojas con diferentes columnas e informacion, y quiero añadir en una cuarta hoja solo los registros que sean del mes de agosto (tengo un campo fecha en las 3).
De la primera pestaña quiero 11 campos, de la segunda 10 y de la tercera 3 (q coinciden en nombre con los de la primera pestaña)

He intentando hacerlo con consolidados, haciendo macros y con VBA y empiezo a pensar que no se puede hacer.. Lo he hecho de forma manual, es decir, filtrando y con copy/paste a la 4 pestaña, pero mi objetivo es hacerlo automaticamente, para que copie solo los reg's de las 3 pestñas que contengan el mes mayor.


Podríais echarme una mano.. o al menos, si me decís que es imposible intentaría otras opciones.

Muchas gracias por todo y un saludo!!!!
Responder
información
Otras secciones de LWP con contenido similar...
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:JuanC juanc2942@gmail.com (926 intervenciones)
Fecha:14/10/2011 16:06:01
obvio que con macros/VBA se puede...

Saludos, desde Baires, JuanC
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:14/10/2011 22:08:10
Tendrías algun ejemplo tanto de copiar a otra hoja como de recuperar las fechas cuyo mes+año es el superior de las filas que se tienen en todas las hojas.

Gracias de nuevo
Comentar
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:JuanC juanc2942@gmail.com (926 intervenciones)
Fecha:14/10/2011 22:19:18
amigo, es imposible un ejemplo que se adapte a tu trabajo...
copiar datos es tan simple como asignar un valor a un rango:
Hoja2.Range("A1").Value = Hoja1.Range("B10").Value
deberías hacer algún que otro bucle, algunas condiciones con fechas y poco más...

Saludos, desde Baires, JuanC
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:17/10/2011 12:55:13
Gracias por contestarme. Lo estoy haciendo de la siguiente forma, con VBA, haciendo un bucle de la hoja 5 y copiando los registros que estan entre los rangos y solo los campos que me interesan en la hoja 6. Funciona pero, de esta manera lo encuentro inviable pues en tratar 5000 reg's tarda más de media hora. He añadido la funcion Application.ScreenUpdating para que no dé pantallazos, ha bajado algo el tiempo pero sigue siendo muy elevado.

Habría forma de optimizarlo ? Muchas gracias por el interés.



Application.ScreenUpdating = False

fechadesde = Fdesde.Value
fechahasta = Fhasta.Value
Sheets(5).Select
Range("A2").Select

x = 2

For i = 2 To 5000
numinci = Cells(i, 1)
If numinci <> "" Then
linnego = Cells(i, 2)
resumen = Cells(i, 3)
notas = Cells(i, 4)
canalentrada = Cells(i, 5)
fechaapertura = Cells(i, 6)
fecharesolucion = Cells(i, 7)
familia = Cells(i, 8)
elemento = Cells(i, 9)
sintoma = Cells(i, 10)
prioridad = Cells(i, 11)
If fechaapertura >= fechadesde And fechaapertura <= fechahasta Then
Sheets(6).Select
Cells(x, 1) = numinci
Cells(x, 2) = linnego
Cells(x, 3) = resumen
Cells(x, 4) = notas
Cells(x, 5) = canalentrada
Cells(x, 6) = fechaapertura
Cells(x, 7) = fecharesolucion
Cells(x, 8) = familia
Cells(x, 9) = elemento
Cells(x, 10) = sintoma
Cells(x, 11) = prioridad
x = x + 1
Sheets(5).Select
End If
End If
Next i

End Sub
Comentar
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:JuanC juanc2942@gmail.com (926 intervenciones)
Fecha:17/10/2011 13:58:56
fijate si con unos pequeños cambios mejora...
Dim s6 As Worksheet, s5 As Worksheet Dim j% Set s5 = Sheets(5) Set s6 = Sheets(6) Application.ScreenUpdating = False Application.EnableEvents = False fechadesde = Fdesde.Value fechahasta = Fhasta.Value s5.Activate Range("A2").Select x = 2 For i = 2 To 5000 numinci = s5.Cells(i, 1) If numinci <> "" Then If fechaapertura >= fechadesde And fechaapertura <= fechahasta Then For j = 1 To 11 s6.Cells(x, j) = s5.Cells(i, j) Next x = x + 1 End If End If Next i Application.ScreenUpdating = True Application.EnableEvents = True

Saludos, desde Baires, JuanC
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:17/10/2011 15:50:06
Lo he puesto igual que tú con esta salvedad :

numinci = s5.Cells(i, 1)
If numinci <> "" Then
fechaapertura = s5.Cells(i, 6) <<=====
If fechaapertura >= fechadesde And fechaapertura <= fechahasta Then

pero no se optimiza, me sigue tardando más de media hora en llegar a contar 5000 registros.

Muchas gracias, sigo haciendo pruebas...
Comentar
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:JuanC juanc2942@gmail.com (926 intervenciones)
Fecha:17/10/2011 16:39:38
no puede tardar tanto... tiene q existir otro problema ajeno al código...
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:17/10/2011 17:17:13
Sigo haciendo pruebas para aislar el problema. Creo que estoy cerca, resulta que la hoja origen de donde leo la info y recupero los registros que están entre los rangos, es una hoja obtenida por una consulta de datos externos a otra excel habiendo unido dos hojas.

He hecho una prueba rapida, creandome una hoja nueva, haciendo un copy y un paste a la nueva hoja de solo los valores, y teniendo ésta como origen va muy rapido, pero me queda confirmar todo.

Creo que añadiendo a la macro, la creacion de este nuevo worksheet, el copy y pegar solo valores, y q la macro lea solo de esta, va a ser suficiente.

Te diré algo, y muchas gracias por tu ayuda
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

Copiar filas de varias hojas con condicion en otra diferente

Autor:Gonzalo (6 intervenciones)
Fecha:18/10/2011 17:09:35
Bueno, a menos que te parezca muy extraño lo que te voy a decir, he seguido el siguiente proceso y sigue funcionando excesivamente lento.

- Puesto que mi hoja origen era una hoja creada con Obtener datos externos-Msquery-excel files, he creado una nueva con una copy/paste especial solo de los valores, para tener una hoja lo más simplificada posible.

- Ese ha sido mi origen y sigue tardando mucho tiempo.

-Si una vez copiados esos datos, borro del xlsm la hoja de los datos importados, la carga con los datos filtrados a la nueva pagina practicamente no tarda.

- La conclusión a la que llego es que, existiendo hojas con info obtenidos desde msquery, aunque estas no estén implicadas en el proceso de copia entre hojas, se ralentiza mucho el proceso.

-Ahora me toca idear alguna manera que pueda generar esa hoja resumen, en este mismo excel, pues esas hojas con datos cargados con msquery, me hacen falta.

Un saludo y gracias por todo
Comentar