< návrat zpět

MS Excel


Téma: Tisk jen urcitych stranek na listu rss

Zaslal/a 10.8.2015 9:51

Dobry den, mel bych takovy dotaz, zda je nejak mozne tisk pouze urcitych stranek na listu podle toho zda pole podleha podmince - jeli tedy nejake pole vyplnene.

Pokazde potrebuji tisknout prvni stranu a k tomu dalsi dle podminek - pole D7 plne tak tisknout stranu 1 a 2, pokud je polej D8 a D7 plne tak tisknout 1,2 a treti stranu a tak dale. Zae naopak pokud je treba pole D7 a D9 plne a D8 ne tak tisknout pouze prvni druhou a ctvrtou stranu.

Dekuji mnohokrat

Zaslat odpověď >

#026194
avatar
takhle?


Sub tisk()
Dim oblast As Range
Dim i As Integer

Set oblast = Worksheets("List1").Range("D7:D14")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
For Each cell In oblast
If cell = "" Then
Else
i = cell.Row - 5
Sheets("List" & i).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("List1").Select
End If
Next cell

End Sub
citovat
#026196
avatar
Dekuji mnohokrat, nicmene VB mi pise Run-time error 9 subscript out of rangecitovat
#026198
avatar
Asi u teba stránka znamená niečo iné ako list.
Teda predpokladám že List1 má viac stránok? A ty chceš z toho listu tlačiť iba určitý počet stránok?citovat
#026199
avatar

marjankaj napsal/a:

Asi u teba stránka znamená niečo iné ako list.
Teda predpokladám že List1 má viac stránok? A ty chceš z toho listu tlačiť iba určitý počet stránok?


Presne tak, omlouvam se asi jsem to spatne popsalcitovat
#026200
avatar
Mám dojem, že došlo ke zmatení pojmů stránka a list (viz subscript out of range). Vypadá to podle mne spíš tak, že na jednom datovém listu se nachází víc tiskových stránek a že jde o selektivní tisk těchto tiskových stránek podle obsahu vybraných buněk.
Pokud mám pravdu, rozdělil bych úlohu na dva kroky: v prvním bych definoval proceduru TiskStranky(Strana As Long), která by vymezila logickou oblast stránky a také ji vytiskla. Jako nadstavbu k této proceduře bych napsal rozhodovací předpis Tiskni(), který by určil, které stránky budu v konkrétním případě tisknout (např. na základě obsahu buněk ve sloupci D).citovat
#026201
avatar
Pardon, vedro mě vedlo špatně, tohle by snad mohlo být to co chcete :-)


Sub tisk()
Dim oblast As Range
Dim i As Integer

Set oblast = Worksheets("List1").Range("D7:D14")
Worksheets("List1").PrintOut From:=1, To:=1
For Each cell In oblast
If cell = "" Then
Else
i = cell.Row - 5
Worksheets("List1").PrintOut From:=i, To:=i
End If
Next cell
End Sub

citovat
#026202
avatar
Na to je tento príkaz. Stačí ak zameníš v cykle hodnoty from=1 a to=2. Zrejme si to budeš vedieť vypočítať. Napríklad ako to uviedol Hokuston. 1

ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, PrintToFile:=True, Collate:=True, IgnorePrintAreas:=Falsecitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje