Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro con ciclo repetitivo

publicado

 

Buen dia 

Tengo la siguiente macro en la cual debo ir filtrando cada una de las columnas, con valores y las demas en ceros para poder sacar la suma y copiarla en la parte superior, y asi ir recorriendo todas las columnas, en la siguiente la columna 5 ya no hago nada y a la 6 la filtro con los <> a cero, esto lo quiero meter en un ciclo pero no he podido, creeria que seria un for e ir eliminando de una columna en cada nuevo ciclo hasta llegar al ultimo, si tienen alguna idea de como lo podria realizar, les agradezco

 

 este es parte del codigo que tengo hoy en dia manual, pero para que vean que en el siguiente va saliendo una columna.

ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=5, Criteria1:="<>0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=6, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=7, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=8, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=9, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=10, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=11, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=12, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=13, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=14, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=15, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=16, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=17, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=18, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=19, Criteria1:="0"


    'suma
        Range("E10").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("E11").Select
    Selection.End(xlDown).Select
    Range("E498").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-482]C:R[-2]C)"
    Range("E498").Select
    Selection.Copy
    Selection.End(xlUp).Select
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 

 'filtro
    Rows("11:11").Select
    ActiveSheet.ShowAllData
    Range("A10").Select
    
    ' 2do ciclo 


ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=6, Criteria1:="<>0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=7, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=8, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=9, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=10, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=11, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=12, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=13, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=14, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=15, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=16, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=17, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=18, Criteria1:="0"
ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=19, Criteria1:="0"

 

Gracias 

 

Featured Replies

publicado

Hola...

Sub Filtro()
Dim n&, cCriterio$
    For n = 5 To 19
        If n = 5 Then cCriterio = "<>0" Else cCriterio = "0"
        ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=n, Criteria1:=cCriterio
    Next n
    'suma
        Range("E10").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range("E11").Select
    Selection.End(xlDown).Select
    Range("E498").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-482]C:R[-2]C)"
    Range("E498").Select
    Selection.Copy
    Selection.End(xlUp).Select
    Range("E9").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'filtro
    Rows("11:11").Select
    ActiveSheet.ShowAllData
    Range("A10").Select
    
    ' 2do ciclo

    For n = 6 To 19
        If n = 6 Then cCriterio = "<>0" Else cCriterio = "0"
        ActiveSheet.Range("$A$11:$AH$434").AutoFilter Field:=n, Criteria1:=cCriterio
    Next n

End Sub

Saludos.

Archivado

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.