Visual Basic para Aplicaciones - Filtrado y copiado entre sheets excel

Life is soft - evento anual de software empresarial
   
Vista:

Filtrado y copiado entre sheets excel

Publicado por Carlos (1 intervención) el 08/07/2016 20:08:46
Hola a todos, lo que deseo hacer es copiar datos de un sheet a otro. El proceso es el siguiente. Primero se escoge dos criterios en el sheet 1 y se presiona un boton para jalar los datos del sheet2. Los datos en el sheet2 deberían ser filtrados en sus primeras dos columnas en base a los criterios escogidos en el sheet 1, ser copiados despues de filtrarlos y pegados en el sheet1. He logrado copiar los datos pero lo hace sin filtrar los criterios que deseo, es decir copia todos los datos en el rango especificado, no se que puede estar mal, agradeceria cualquier ayuda. El código que esto usando es el siguiente:

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Button3_Click()
 
Dim Unidad As String
Dim Lugar As String
 
Sheets("Gráficas").Select
 
Unidad = Range("C4")
Lugar = Range("C5")
 
'Borrar
Range("A8:AA500").Select
Selection.ClearContents
 
'Datos
    Sheets("Data").Select
    With ActiveSheet
    .AutoFilterMode = False
    .Range("$B$2:$AH$500").AutoFilter
    .Range("$B$2:$AH$500").AutoFilter Field:=1, Criteria1:=Unidad
    .Range("$B$2:$AH$500").AutoFilter Field:=2, Criteria2:=Lugar
 
    End With
    Range("$J$3:$AI$200").Select
    Selection.Copy
    Sheets("Gráficas").Select
    Range("C8").Select
    ActiveSheet.Paste
 
    Selection.End(xlToRight).Select
    ActiveCell.Range("A1:A200").Select
    Selection.ClearContents
    Selection.End(xlToLeft).Select
    Selection.End(xlToLeft).Select
 
   'Reseteado (des-filtrado) de hoja
    Sheets("Data").Select
    With ActiveSheet
    .AutoFilterMode = False
    .Range("$J$2:$AH$500").AutoFilter
    .Range("$J$2:$AH$500").AutoFilter Field:=1
    Range("AJ1").Select
    .Range("$J$2:$AH$500").AutoFilter Field:=2
    Range("AJ1").Select
    End With
 
    Sheets("Gráficas").Select
 
End Sub
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