[ Karo @ 17.01.2021. 10:24 ] @
Upitanju je najobicnija popisna lista koja moze da ima 30-300 ili 3000 unosa

Code:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
On Error Resume Next
            .Columns("F").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            .PrintOut
            .Columns("F").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
            On Error GoTo 0

        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub


ovo radi ali polovicno ostaju nepopunjeni redovi za stampu
Idelano bi bilo da se pomocu VBA selektovane celije koje nemau unos (nevide se) nestamapju
[ Ivek33 @ 17.01.2021. 11:59 ] @
Možda da prije nego što pokreneš print, pozoveš proceduru koja će sakriti (hide) sve redove koji sadrže praznu ćeliju.
[ Jpeca @ 17.01.2021. 18:20 ] @
Kod koji si postavio (nažalost bez primera radne sveske) štampaće samo one redove u kojim u kolini F nije prazna ćelija. (Red ispred PrintOut sakrva redove u kojim je ćelija F prazna, pa ih nakon štampe vraća da budu vidljivi). Eventualni problem je ako u koloni F imaš formule - čak i u slučaju da je rezultat formule prazno "" to se neće smatrati praznom ćelijom. Dakle u tom slučaju treba iskoristiti kolonu u kojoj su zaista prazne ćelije (umesto F) ili promenti uslov da se sakrivaju redovi npr da je tekst u ćeliji dužine nula - vide HideEmpty funkciju u primeru:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        On Error Resume Next
        With ActiveSheet
'            .Columns("F").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
             HideEmpty .UsedRange.Columns("F")
            .PrintOut Preview:=True
            UnHideEmpty .UsedRange.Columns("F")
'            .Columns("F").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
        End With
        On Error GoTo 0
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub
Sub HideEmpty(rng As Range)
    For Each cl In rng.Cells
      If Len(cl.Text) = 0 Then
         cl.EntireRow.Hidden = True
      End If
    Next cl
End Sub

Sub UnHideEmpty(rng As Range)
    For Each cl In rng.Cells
      If Len(cl.Text) = 0 Then
         cl.EntireRow.Hidden = False
      End If
    Next cl
End Sub


[ Karo @ 17.01.2021. 18:41 ] @
Red.br Šifra Naziv artikla Količina Cena Vrednost

sorry, gde je F Vredndnost tj kolicina*cena prostije ne moze, tnx