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

  • tgumis

    tag

    Sziasztok!

    Csinálok egy raktár nyilvántartó táblázatot. Az adatok a bevitel munkalapról kerülnek át az anyagmozgás munkalapra. Mindkét munkalapon táblázatként van formázva az érintett tartomány.
    A problémám az, hogy a legelső adatáttöltés alkalmávan bentmarad a fejrész alatt egy üres sor.
    Nem tudom azt megoldani, hogy az kikerüljön onna, mert csak az első áttöltés alkalmával gond ha manuálisan kitörlöm akkor nem gond de minden negyedév vagy amikor újra kezdjük feltölteni az adatokat előjön.
    Van valami megoldás vajon?
    Innen másolok:

    ide töltöm be

    és ez a makró ami áttölti ( a kommentelés nem minden esetben valós csak ott maradt)
    Sub SzurMasolBeill()
        
        
        
        Dim WSBev As Worksheet
        Dim WSAnyagM As Worksheet
        Dim Bsor As Long
        
        
        
        Dim Usor As Long
        Application.ScreenUpdating = False
        
        'értékadások
        Set WSBev = Sheets("BEVITEL")                           '   a BEVITEL munkalap makróban elnevezett neve
        Set WSAnyagM = Sheets("ANYAGMOZGÁSOK")                          '   az összesít munkalap makróban elnevezett neve
        
        Bsor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row + 1   '   AZ IDÉZŐJEL KÖZÖTT LÉVŐ BETŰ azt jelenti hogy aZ ADOTT Oszlopba utolsó sor
                                                                    '   plusz egy fogom illeszteni az adatokat
                                                                    '   ITT CSAK AZT ADOM MEG HOGY HOVA ILLESZTEK BE
                                                                    '   A BSOR LEHETNE BÁRMI EZ CSAK ELNEVEZÉS
        
        Usor = WSBev.Range("A12").End(xlDown).Row
        
        WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12, Criteria1:="<>0", Operator:=xlAnd 'NULLÁTÓL KISSEBB ILLETVE NAGYOBB ÉRTÉKEKRE SZŰRÉS
        
        WSBev.Range("A12:N" & Usor).SpecialCells(xlCellTypeVisible).Copy 'csak a látható, nem rejtett sorokat másolja
        
        WSAnyagM.Range("A" & Bsor).PasteSpecial xlPasteValues       'ITT ADOM MEG HOGY BEIELLESZTSE A MÁSOLT ADATOKAT AZ
                                                                    'IDÉZŐJELEK KÖZT MEGADOTT OSZLOP PLUSZ A BSOR BAN
                                                                    'MEGHATÁROZOTT UTOLSÓ PLUSZ EGY SORBa
        
        Dim Csor As Long
        Csor = WSAnyagM.Range("A" & Rows.Count).End(xlUp).Row 'tartomány átméretezéséhez kell ey új változó itt megadom, neki, hogy melyik az utolsó adarot tartalmazó sor az A oszlopban
        
        
        
        WSAnyagM.ListObjects("Anyagmozgások").Resize Range("$A$3:$N$" & Csor) ' itt pedig átméretezem a táblázatot
        
        WSBev.ListObjects("Bevitel").Range.AutoFilter Field:=12
        
        
        Application.ScreenUpdating = True
    End Sub

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