Telefonszámunk: 1-472-0679

[Resolved] nyomtatás

Kezdőlap Fórumok Excel programozás [Resolved] nyomtatás

Topic Resolution: Resolved

Ennek a témakörnek tartalma 4 hozzászólás, 2 résztvevő. Utolsó frissítés:  horvimi 1 hónap telt el.

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #7345

    kovacsl1968
    Felhasználó

    Sziasztok! Adva van egy táblázat, 200 sorral, ebből X foglalt adatokkal. Az ebből egy másik munkalapon összeállított szűrést nyomtatom, ehhez írtam makrót, ami “részben” működik is. Ott akadtam el, hogy a nyomtatást az összes sor esetén hajtja végre, az üres sorokat is. Próbáltam ezt egy feltételhez kötni, ha a sor egyik cellája üres (pl név) akkor ugorjon egy adott helyre… Na ez az, ami nem sikerült, tovább szeretne nyomtatni minden sort. Kérhetek egy kis segítséget?

    #7346

    horvimi
    Adminisztrátor

    Szia!

    Ezt úgy szokták csinálni, hogy nyomtatás előtt elrejtik az üres sorokat.
    Egyik lehetőség, hogy kijelölöd a teljes 200 sort, választasz ehhez egy oszlopot és futtatsz egy autofiltert, ami a nem üreseket tartja meg:

    Selection.AutoFilter Field:=1, Criteria1:="<>"

    Ha ez nem válik be, akkor pedig a teljes 200 soron futtetsz egy ciklus, és ha üreset talál, akkor elrejti azt a sort.
    Itt egy minta:

    For Each xCell In selection.Columns(1).Cells
      If Application.WorksheetFunction.CountA(xCell.EntireRow) = 0 Then
        xCell.EntireRow.Hidden = True
      End If
    Next

    Imre

    #7347

    kovacsl1968
    Felhasználó

    Megoldva:

    Sub print_beo()

    ‘ print_beo Makró

    Dim a As Integer
    a = 1
    For i = 5 To 204
    If Munka4.Cells(i, 4).Value <> “” Then

    Sheets(“Jelenléti I.”).Select
    Range(“A3”).Select

    ActiveCell.FormulaR1C1 = a
    Range(“A4”).Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    a = a + 1
    Else
    Sheets(“I.”).Select
    Range(“A1”).Select

    End If
    Next i

    End Sub

    ugyanis lehet, hogy nem voltam elég pontos. Egy táblázatban vannak munkavállalók, X darab, ide 1-31 között műszakkódok kerülnek. Ez automatikusan történik öröknaptárral a háttérben. Ennek alapján nyomtatok mindenkinek egy jelenléti ívet, ez egy másik munkalap lesz. Innen jött az előzőleg említett probléma, de a fenti makróval megoldva…

    Azért köszönöm a segítséget! (jó volt az oktatóm anno, nem akarok újjal mutogatni 😀 gondolkodásra késztetett…)

    #7348

    horvimi
    Adminisztrátor

    Szuper! Az önállóan megoldott feladatok adják a legnagyobb sikerélményt.
    Ugyan nem értem mit csináltál, de nem is erőlködöm nagyon.

    I

    #7349

    horvimi
    Adminisztrátor

    Ha esetleg legközelebb is makró témában kérdeznél, javaslom, hogy a forráskódot formázd is meg kódként.
    Ai inputbox tetején ott egy “code” feliratú gomb.
    Az én hozzászőlásaimban látod az eredményét.
    Fő vívmányí, hogy a szóközt, kacsacsőrt, idézőjeleket, stb.. nem alakít át, hanem sima szöveg marad, a kód kimásolható marad.

    I

5 bejegyzés megtekintése - 1-5 / 5

Be kell jelentkezni a hozzászóláshoz.