Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Delila_1

    Topikgazda

    válasz p5quser #37629 üzenetére

    Sorban megnyitod egy mappa adatait. Az egyes füzetek megnyitása után hívd meg ezt a makrót.

    Sub Kigyujtes()
    'B oszlopban szűrünk az "elszámolás" szóra.
    'A szűrt adatok közül a szűrés előtti, a szűrt oszlop, és a szűrés utáni oszlop
    'adatait másoljuk az Összesítés lap első üres sorába, a lap B oszlopától kezdve.
    'Az Összesítő A oszlopába beírjuk a lap nevét, ahonnan másoltunk. Megszüntetjük a szűrést.
    'Az Összesítő az utolsó lap a füzetben.

    Dim lap As Integer, innen As Long, eddig As Long, WSO As Worksheet

    Set WSO = Sheets("Összesítés")
    Application.ScreenUpdating = False

    For lap = 1 To Sheets.Count - 1
    Sheets(lap).Activate
    Range("$A:$F").AutoFilter Field:=2, Criteria1:="elszámolás"
    Range(Cells(2, 1), Cells(10000, 3)).SpecialCells(xlCellTypeVisible).Copy
    innen = WSO.Range("B" & Rows.Count).End(xlUp).Row + 1
    WSO.Range("B" & innen).PasteSpecial xlPasteValues
    eddig = WSO.Range("B" & Rows.Count).End(xlUp).Row
    WSO.Range("A" & innen & ":A" & eddig) = ActiveSheet.Name
    Range("$A:$F").AutoFilter Field:=2
    Next

    WSO.Activate: Range("A2").Select
    Application.ScreenUpdating = True
    End Sub

    Biztosan hozzá tudod idomítani a saját igényeidhez.

    Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

Új hozzászólás Aktív témák