Copiar hoja con filtro avanzado
Publicado por Carlos A (2 intervenciones) el 15/01/2021 20:18:02
Estimados expertos,
Además de augurarles un año lleno de éxitos y salud pido su soporte:
Tome un ejemplo que gentilmente un experto me ayudo y quise adaptarlo para copiar otra hoja pero realmente se me ha hecho complicado. Es posible que me puedan ayudar con una solución simple?
PROBLEMA:
1.- Lo que necesito es copiar una hoja con datos, que para el ejemplo se llama "NEGOCIACION" a una hoja modelo que se llama "Liquida"
2.- Que se aplique un filtro avanzado hacia la hoja de "Liquida"
3.- Que esa hoja modelo "Liquida" quede oculta luego de terminar el proceso. (aparentemente si funciona lo que esta en el código)
4.- que elimine las filas vacías
5.- que me puedan recomendar y evitar el (ab)uso de formulas innecesarias.
SOLUCION ACTUAL CON ERROR: Por su puesto como verán en el código se demuestra mi falta de conocimiento, por lo que les pido su gentil ayuda a solucionar mi rompecabezas.
Además de augurarles un año lleno de éxitos y salud pido su soporte:
Tome un ejemplo que gentilmente un experto me ayudo y quise adaptarlo para copiar otra hoja pero realmente se me ha hecho complicado. Es posible que me puedan ayudar con una solución simple?
PROBLEMA:
1.- Lo que necesito es copiar una hoja con datos, que para el ejemplo se llama "NEGOCIACION" a una hoja modelo que se llama "Liquida"
2.- Que se aplique un filtro avanzado hacia la hoja de "Liquida"
3.- Que esa hoja modelo "Liquida" quede oculta luego de terminar el proceso. (aparentemente si funciona lo que esta en el código)
4.- que elimine las filas vacías
5.- que me puedan recomendar y evitar el (ab)uso de formulas innecesarias.
SOLUCION ACTUAL CON ERROR: Por su puesto como verán en el código se demuestra mi falta de conocimiento, por lo que les pido su gentil ayuda a solucionar mi rompecabezas.
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
Sub liquidacion():
Dim x As Long
Application.ScreenUpdating = False
Sheets("plantilla").Visible = True
' Copia la hoja modelo y cambia nombre a liquidacion
Worksheets("liquida").Copy , after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "LIQUIDACION"
For x = 24 To 99
' Aplica filtro avanzado a la hoja Negociacion y pega en LIQUIDACION
With Sheets("LIQUIDACION").Range("b24:z23")
.Offset(1).Resize(.Rows.Count - 1).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("b24:q24"), Unique:=False:
End With
'Copia las celdas de declaracion
Worksheets("Liquida").Rows("100:124").Copy Range("a" & Cells(Rows.Count, 2).End(xlUp).Offset(2).Row)
'elimina datos innecesarios
Range([a124], Range("a" & Cells.SpecialCells(xlCellTypeLastCell).Row)).EntireRow.Delete
Range("a13:a14,b24:q24").ClearContents: Debug.Print ActiveSheet.UsedRange.Address: Next
Sheets("plantilla").Visible = False
Application.ScreenUpdating = True
End Sub
Valora esta pregunta


0