Forum » Pomoč in nasveti » Excel: tiskanje po vrsticah
Excel: tiskanje po vrsticah
luksorzi ::
Se da naredit skripto ki bo šla po vrsticah v excelu, preverila eno polje v vrstici. Če je v tem polu "x", se ta vrstica po celicah prekopira na drug list, ki je pripravljen za tisk in nato natisne.
Kako se tega sploh lotit, da bo najbolj elegantno. Mogoče drugačen postopek? V Excelu znam osnove, za kaj več mi pa škriplje.
Kako se tega sploh lotit, da bo najbolj elegantno. Mogoče drugačen postopek? V Excelu znam osnove, za kaj več mi pa škriplje.
eales ::
Na prvem lisu filtritaš stolpec kjer imaš x, da ti prikazuje samo vrstice z x-om
Nato označiš celotno tabelo
klikneš: file, print
Pod setting klikneš: "print selection", nato lahko daš še: "Fit sheet on one page" in natisneš
Mogoče je rezultat tak, kot ga rabiš :)
Nato označiš celotno tabelo
klikneš: file, print
Pod setting klikneš: "print selection", nato lahko daš še: "Fit sheet on one page" in natisneš
Mogoče je rezultat tak, kot ga rabiš :)
anko ::
Makro, ni druge.
Narediš, da ti pač gre od prve do zadnje vrstice in ko naleti na "x" v vrstici:
kopiraš celo vrstico
WorkBook.Sheets("Sheet1").Rows(x).EntireRow.Copy
se prestaviš na ustrezno celico na novem listu
WorkBook.Sheets("Sheet2").Range("A"&x).Select
in prilepiš
WorkBook.Sheets("Sheet2").Paste
Seveda to v for zanko "x= 1 to LastRow" skupaj z IF cellValue="karkoli" then ...
@eales - tudi to je varianta... s filtrom. Pa lahko potem tudi ročno kopiraš na drug list.
Narediš, da ti pač gre od prve do zadnje vrstice in ko naleti na "x" v vrstici:
kopiraš celo vrstico
WorkBook.Sheets("Sheet1").Rows(x).EntireRow.Copy
se prestaviš na ustrezno celico na novem listu
WorkBook.Sheets("Sheet2").Range("A"&x).Select
in prilepiš
WorkBook.Sheets("Sheet2").Paste
Seveda to v for zanko "x= 1 to LastRow" skupaj z IF cellValue="karkoli" then ...
@eales - tudi to je varianta... s filtrom. Pa lahko potem tudi ročno kopiraš na drug list.
Zgodovina sprememb…
- spremenil: anko ()
luksorzi ::
Tole je bilo pa bolj preprosto, kot sem mislil :)
Sub RoundedRectangle1_Click() Dim i As Long For i = 2 To Rows.Count 'začnem v 2. vrstici If Cells(i, 2).Value = "x" And Not IsEmpty(Cells(i, 2).Value) Then Sheets("Sheet2").Cells(3, 3) = Cells(i, 1) 'skopiram celico i,1 v celico 3,3 na listu Sheet2 Sheets("Sheet2").PrintOut From:=1, To:=1, Copies:=1 End If Next i End Sub
anko ::
Tole je bilo pa bolj preprosto, kot sem mislil :)
Tole ti funkcionira?
V FOR zanki ti Rows.Count zmeraj, da vrednost 1048576. V IF stavku ne rabiš še "And Not..."
Zakaj vedno v isto celico kopiraš? Imaš samo en podatek?
Poskusi tole varianto:
Sub RoundedRectangle1_Click() Dim i As Long LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row x = 3 'ce hoces vedno zaceti v 3 vrstici na drugem listu For i = 2 To LastRow 'zacnem v 2. vrstici If Cells(i, 2).Value = "x" And Not IsEmpty(Cells(i, 2).Value) Then Sheets("Tabelle2").Cells(x, 3) = Cells(i, 1) ' skopiram celico i,1 v celico 3,3 na listu Sheet2 x = x + 1 'povecam vrstico v katero bom kopiral za eno End If Next i Sheets("Sheet2").PrintOut From:=1, To:=1, Copies:=1 'printas sele, ko si skopiral vse vrednosti End Sub
Če imaš dejansko samo en podatek, ki ga moraš skopirati in nato natisniti, je sicer tvoja varianta ok, sam bi edino štetje zadnje vrstice popravil, ker v tvojem primeru ti bo šlo čez cel worksheet, kar pri Excelu od verzije 2007 pomeni dober milijon vrstic.
Zgodovina sprememb…
- spremenil: anko ()
luksorzi ::
Eno celico kopiram samo za prikaz, imam več polj za izpolnit. Gre čez vse vrstice, ampak ne traja dolgo ker, če je celica z "x" prazna, gre takoj v naslednjo vrstico And Not bi pa res lahko izpustil. Tam ostal, ko sem kopiral del druge kode. Je pa s tvojim popravkom precej hitreje - hvala.
V isto celico zato, ker imam predlogo za tiskanje in v to predlogo vnašam podatke iz tabele.
V isto celico zato, ker imam predlogo za tiskanje in v to predlogo vnašam podatke iz tabele.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | excel helpOddelek: Pomoč in nasveti | 2290 (2055) | klemenSLO |
» | Calc/excel delo s tabeloOddelek: Programiranje | 1454 (1221) | salabajs |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3781 (3504) | Mobidick |
» | Prosim za pomoč pri VBAOddelek: Programiranje | 2085 (1888) | apachee |
» | Visual Basic in ExcelOddelek: Programiranje | 2674 (2240) | Vesoljc |