Excel - Macro para pegar datos en hoja2

   
Vista:

Macro para pegar datos en hoja2

Publicado por Leonardo (3 intervenciones) el 11/01/2016 10:12:03
Buenos días,

Soy nuevo en este foro e inexperto en la programación de macros.

Adjunto un archivo de prueba con un informe de datos.

En la pestaña1 aparece el informe según es exportado. Necesito pegar en la pestaña 2 todas las filas del informe en donde en la columna A aparezca el valor "TOTAL"

El sistema en donde se extrae el reporte lo vuelca con un formato muy poco manejable (celdas combinadas) me gustaría ver si cada fila de datos se podría mostrar sin celdas combinadas.

Disculpad las molestias y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro para pegar datos en hoja2

Publicado por GMG (105 intervenciones) el 11/01/2016 17:32:26
Tienes otra opción:

1-Seleccionas el rango de celdas con datos en la hoja informe (te colocas en celda A1 y pulsas las teclas Ctrl+shift+ Fin).

2-Quitas las celdas combinadas (pulsas en combinar y centrar, en Inicio-Alineación, tardará un poco)

3- En Datos, Ordenar y filtrar pulsas en Filtro

4- Te aparecen las flechitas para filtrar en cada columna, en A1 le das a la flechi y filtras para que solo te muestre los valores "Total"

5- Copias lo que te interesa, que es todo menos la primera fila y la primera columna.

6- Lo pegas en la hoja datos.


Esta macro hace prácticamente lo mismo que te he descrito, pero seguramente no sea la mejor forma de hacerla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub Macro1()
    Sheets("informe").Select
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlTop
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
 
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$AO$5754").AutoFilter Field:=1, Criteria1:="TOTAL"
 
    Selection.End(xlDown).Select
    ActiveCell.Offset(0, 1).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("datos").Select
    Range("A4").Select
    ActiveSheet.Paste
    Rows("4:4").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
 
End Sub

No puedo prometerte que funcione siempre, pero espero que te ayude, saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Macro para pegar datos en hoja2

Publicado por Leonardo (3 intervenciones) el 12/01/2016 10:22:55
muchísimas gracias por tu tan rápida respuesta.

Al ejecutar la macro, si me realiza el filtro de las filas con el valor TOTAL en la columna A y si se realiza la selección, así como el copiado, pero el pegado en la pestaña "datos" no se ejecuta automáticamente. Sale un error "400"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para pegar datos en hoja2

Publicado por GMG (105 intervenciones) el 12/01/2016 12:30:25
Mira a ver con el ejemplo que te paso, deberás ejecutar la macro (Vistas/Macros / Ver Macros/ debería aparecerte únicamente una macro y le das a ejecutar).

He añadido un cambio para que el tema del filtro sea valido independientemente del tamaño del archivo.

Espero que funcione ahora. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Macro para pegar datos en hoja2

Publicado por Leonardo (3 intervenciones) el 12/01/2016 14:20:33
ahora si funciona correctamente. mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar