Excel - Copiar datos desde otra hoja al entrar en una determinada

   
Vista:

Copiar datos desde otra hoja al entrar en una determinada

Publicado por Alx (18 intervenciones) el 02/04/2016 13:12:19
Quiero que al entrar en una hoja (Duracion), se copien automaticamente unas celdas que estan en otra (Datos).

Con el grabador de macros, lo he hecho manualmente, y funciona, sin embargo, al intentar automatizarlo se queda frito...

Este es el codigo que uso:
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
Private Sub worksheet_activate()
 
Sheets("Datos").Select
    Range("A31").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("Duracion").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
 
    ActiveWorkbook.Worksheets("Duracion").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Duracion").Sort.SortFields.Add Key:=Range("E1:E263") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Duracion").Sort.SortFields.Add Key:=Range("B1:B263") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Duracion").Sort.SortFields.Add Key:=Range("C1:C263") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 
    With ActiveWorkbook.Worksheets("Duracion").Sort
        .SetRange Range("A1:E263")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
End Sub

Alguna idea?
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

Copiar datos desde otra hoja al entrar en una determinada

Publicado por claudio (6 intervenciones) el 05/06/2016 04:19:09
lo modifique de forma minima a nivel codigo como para que quede mas corto y reduje un poc los datos que se importan ya que no creo que toda la fila tan extensa sea lo que tenes que importar, eso lo podes regular mejor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Worksheet_Activate()
Worksheets("Duracion").Range("A1:Z300").Clear
Worksheets("Datos").Range("A31:Z300").Copy
Worksheets("Duracion").Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Worksheets("Duracion").Range("A1").Select
Worksheets("Duracion").Sort.SortFields.Clear
Worksheets("Duracion").Sort.SortFields.Add Key:=Range("E1:E263") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
Worksheets("Duracion").Sort.SortFields.Add Key:=Range("B1:B263") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Worksheets("Duracion").Sort.SortFields.Add Key:=Range("C1:C263") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 
With Worksheets("Duracion").Sort
        .SetRange Range("A1:E263")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
End With
End Sub
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

Copiar datos desde otra hoja al entrar en una determinada

Publicado por Alx (18 intervenciones) el 06/06/2016 12:37:48
Probado y funcionando.... Gracias Claudio... :)
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