Saltar al contenido

Macro con filtros


Aprendiz de ..

Recommended Posts

publicado

Buenas, seguro que resulta fácil para la mayoría, pero estoy iniciándome. Quiero hacer una macro sencilla que incluye una serie de filtros, por ejemplo uno de ellos al marcarlo reemplazo los valores por otro, pero no siempre en la misma posición, ese es mi problema. Como hacer que funcione sin indicar en la macro la posición. Muchas gracias. Este sería el ejemplo

Sub Macro1()
'
' Macro1 Macro
'

'
    Rows("1:1").Select
    Selection.AutoFilter
    With ActiveWindow
        .SplitColumn = 0
        .SplitRow = 1
    End With
    ActiveWindow.FreezePanes = True
    Range("A1").Select
    Columns("A:A").ColumnWidth = 16.14
    Columns("C:C").ColumnWidth = 22.14
    Columns("I:I").ColumnWidth = 12.43
    Columns("J:K").Select
    Selection.ColumnWidth = 15.86
    Columns("L:M").Select
    Selection.ColumnWidth = 14.86
    ActiveWindow.SmallScroll ToRight:=2
    Columns("N:N").ColumnWidth = 14.71
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    Columns("Q:Q").ColumnWidth = 13
    Columns("S:S").ColumnWidth = 16.43
    Columns("T:T").ColumnWidth = 14.43
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A1").Select
    ActiveSheet.Range("$A$1:$T$34475").AutoFilter Field:=14, Criteria1:="<>"
    ActiveSheet.Range("$A$1:$T$34475").AutoFilter Field:=6, Criteria1:="<>"
    Range("C916").Select
    ActiveCell.FormulaR1C1 = "Completado"
    Range("C916").Select
    Selection.Copy
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveSheet.ShowAllData
    ActiveWorkbook.Save
End Sub

 

 
publicado

Hola aprendiz y bienvenido al foro

En 2017-5-25 at 7:29 , Aprendiz de .. dijo:

Buenas, seguro que resulta fácil para la mayoría, pero estoy iniciándome

Dado que muestras esfuerzos, te he preparado un aporte, con el objetivo que lo analices, aprendas y lo practiques

La grabadora de macro es una herramienta super útil (hasta los mas experimentados la utilizan!) por lo que no dejes de usarla

El ejemplo se trata de una tabla con 4 columnas, filtraremos la columna C, la celda G1 sera utilizada para filtrar, la celda H1 para reemplazar lo filtrado

Revisa el adjunto y antes de cualquier duda, revisarlo bien

Para evaluar el código, utiliza el paso a paso, para eso te vas al modulo y presionas F8 hasta terminar

Ya nos comentaras

 

Saludos

Filtrar Copiar Pegar_GP.rar

publicado

¡Hola, a ambos!

Ya te mostraron una forma de hacerlo con Filtro.  Ahora, te muestro una forma un poco más rápida:

Sub Reemplazar()
    Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row).Replace Range("G1"), Range("H1"), xlWhole
End Sub

Teniendo en G1 lo que quieres que se reemplace, y en H1 el nuevo valor.  ¡Bendiciones!

  • 4 weeks later...

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.