Obojestransko tiskanje
Obojestransko tiskanje
Zdravo. Uporabna stran ter forum kr tako naprej!
Iščem pa eno rešitev. Iz meseca v mesec tiskam več v excelu in sedaj bi mi že zelo prav prišla funkcija "obojestranskega tiskanja". Pa tega nikjer ne najdem nič pametnega.
OK. V Wordu se pač znajdeš in daš tiskati najprej sode strani, vstavim iste liste v tiskalnik in dam potem še lihe [idealno ]
V excelu pa nevem kaj in kako. Delovni list ima kar precej strani, tako da ne pride v poštev, da bi vsak list posebej tiskal. Rad bi nekaj takega kot je že v Wordu. A je to možno kako doseči?
Iščem pa eno rešitev. Iz meseca v mesec tiskam več v excelu in sedaj bi mi že zelo prav prišla funkcija "obojestranskega tiskanja". Pa tega nikjer ne najdem nič pametnega.
OK. V Wordu se pač znajdeš in daš tiskati najprej sode strani, vstavim iste liste v tiskalnik in dam potem še lihe [idealno ]
V excelu pa nevem kaj in kako. Delovni list ima kar precej strani, tako da ne pride v poštev, da bi vsak list posebej tiskal. Rad bi nekaj takega kot je že v Wordu. A je to možno kako doseči?
Pozdravljeni,
V starem forumu (dosegljiv v datoteki matjazev_net.chm) je že bilo to vprašanje in tedaj sem napisal makro, ki vam omogoča izbor poljubnih strani, ki naj jih Excel natisne. Če pa potrebujete pa ga lahko popravim tako, da sam izbere vse liha/sode:
Makro vas bo vprašal za seznam strani (ločite jih z vejico!) in jih izpisal:
V starem forumu (dosegljiv v datoteki matjazev_net.chm) je že bilo to vprašanje in tedaj sem napisal makro, ki vam omogoča izbor poljubnih strani, ki naj jih Excel natisne. Če pa potrebujete pa ga lahko popravim tako, da sam izbere vse liha/sode:
Makro vas bo vprašal za seznam strani (ločite jih z vejico!) in jih izpisal:
Koda: Izberi vse
'Avtor: Matjaž Prtenjak
'Junij 2002
Function mSplit(text As String, meja As String) As Variant
Dim rezultat() As Variant
Dim stevec As Integer
Dim pozicija As Integer
Dim dolzina As String
Dim tmp As String
tmp = text
stevec = 0
pozicija = 0
dolzina = Len(meja)
Do
ReDim Preserve rezultat(stevec)
pozicija = InStr(tmp, meja)
rezultat(stevec) = Left$(tmp, pozicija - 1)
stevec = stevec + 1
tmp = Mid$(tmp, pozicija + dolzina)
Loop While InStr(tmp, meja) > 0
ReDim Preserve rezultat(stevec)
rezultat(stevec) = tmp
mSplit = rezultat()
End Function
'Avtor: Matjaž Prtenjak
'August 2002
Sub NatisniStrani()
Dim strani As String
strani = InputBox("Strani (ločene z vejico)", "Izberite strani", "")
If (IsEmpty(strani)) Then Exit Sub
Dim seznam As Variant
seznam = mSplit(strani, ",")
Dim i As Integer
For i = LBound(seznam) To UBound(seznam)
If IsNumeric(seznam(i)) Then
ActiveSheet.PrintOut From:=seznam(i), to:=seznam(i)
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni,
Spodaj je makro, ki pa ga nisem preizkusil, ker nimam časa. Če kaj ne dela pač povejte in bom popravil. Makro vas bo najprej spraševal od katere do katere strani naj natisne, koliko kopij naj natisne ter ali naj tiska lihe ali sode strani. Ko boste vse vpisali vas bo še enkrat vprašal ali ste prepričani ter začel tiskati.
Makro nima posebnih kontrol zato vpisujte smislne podatke! Vsa stvar bi izgledala precej boljše, če bi bil to lep obrazec... a potem je več dela in koda ne more biti objavljena na netu, saj je zadaj obrazec... No mogoče bom pa kdaj to dodal v mDodatke
Spodaj je makro, ki pa ga nisem preizkusil, ker nimam časa. Če kaj ne dela pač povejte in bom popravil. Makro vas bo najprej spraševal od katere do katere strani naj natisne, koliko kopij naj natisne ter ali naj tiska lihe ali sode strani. Ko boste vse vpisali vas bo še enkrat vprašal ali ste prepričani ter začel tiskati.
Makro nima posebnih kontrol zato vpisujte smislne podatke! Vsa stvar bi izgledala precej boljše, če bi bil to lep obrazec... a potem je več dela in koda ne more biti objavljena na netu, saj je zadaj obrazec... No mogoče bom pa kdaj to dodal v mDodatke
Koda: Izberi vse
' 12.4.2006
Sub NatisniLiheSodeStrani()
Dim StraniOd As Integer
Dim StraniDo As Integer
Dim Sode As Boolean
Dim StKopij As Integer
StraniOd = InputBox("Natisni strani OD ...", "Izberite strani", "")
StraniDo = InputBox("Natisni strani DO ...", "Izberite strani", "")
StKopij = InputBox("Koliko kopij naj natisnem ...", "Izberite strani", "")
Sode = (MsgBox("Ali tiskam SODE strani?", vbQuestion + vbYesNo, "Sode ali LIHE") = vbOK)
Dim Izbor As String
Izbor = "Izbrali ste sledeče pogoje: " & Chr(10) & _
" tiskaj strani OD " & StraniOd & Chr(10) & _
" tiskaj strani DO " & StraniDo & Chr(10)
If (Sode) Then
Izbor = Izbor & " tiskaj SODE strani " & Chr(10)
Else
Izbor = Izbor & " tiskaj LIHE strani " & Chr(10)
End If
Izbor = Izbor & " tiskaj " & StKopij & " kopij" & Chr(10) & Chr(10) & Chr(10) & _
" Ali nadaljujem s tiskanjem? "
If (MsgBox(Izbor, vbQuestion + vbOKCancel, "Ali tiskam?") <> vbOK) Then Exit Sub
Dim i As Integer
For i = StraniOd To StraniDo
If ((i Mod 2 = 0) And Sode) Or ((i Mod 2 <> 0) And (Not Sode)) Then
ActiveSheet.PrintOut From:=seznam(i), To:=seznam(i), Copies:=StKopij
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
zdravo. nekej me zajebava. ko stisnem F5 mi vrže:
in mi obarva tole kar sem odebelil spodaj.Compile Error:
Sub or Function not defined
' 12.4.2006
Sub NatisniLiheSodeStrani()
Dim StraniOd As Integer
Dim StraniDo As Integer
Dim Sode As Boolean
Dim StKopij As Integer
StraniOd = InputBox("Natisni strani OD ...", "Izberite strani", "")
StraniDo = InputBox("Natisni strani DO ...", "Izberite strani", "")
StKopij = InputBox("Koliko kopij naj natisnem ...", "Izberite strani", "")
Sode = (MsgBox("Ali tiskam SODE strani?", vbQuestion + vbYesNo, "Sode ali LIHE") = vbOK)
Dim Izbor As String
Izbor = "Izbrali ste sledeče pogoje: " & Chr(10) & _
" tiskaj strani OD " & StraniOd & Chr(10) & _
" tiskaj strani DO " & StraniDo & Chr(10)
If (Sode) Then
Izbor = Izbor & " tiskaj SODE strani " & Chr(10)
Else
Izbor = Izbor & " tiskaj LIHE strani " & Chr(10)
End If
Izbor = Izbor & " tiskaj " & StKopij & " kopij" & Chr(10) & Chr(10) & Chr(10) & _
" Ali nadaljujem s tiskanjem? "
If (MsgBox(Izbor, vbQuestion + vbOKCancel, "Ali tiskam?") <> vbOK) Then Exit Sub
Dim i As Integer
For i = StraniOd To StraniDo
If ((i Mod 2 = 0) And Sode) Or ((i Mod 2 <> 0) And (Not Sode)) Then
ActiveSheet.PrintOut From:=seznam(i), To:=seznam(i), Copies:=StKopij
End If
Next
End Sub
, ja bo potrebno makre prej malce sprobati... Samo ko me vedno daje čas..
V sledeči vrstici napačno piše '= vbOK', mora pa pisati '= vbYes', kot je popravljeno spodaj.
V sledeči vrstici napačno piše '= vbOK', mora pa pisati '= vbYes', kot je popravljeno spodaj.
Koda: Izberi vse
Sode = (MsgBox("Ali tiskam SODE strani?", vbQuestion + vbYesNo, "Sode ali LIHE") = vbYes)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
hehe sem probal in sedaj dela kot švicarska urca
na začetku je malo zamudno, dokler se ne navadiš na sistem tiskanja (več izvodov naenkrat tiskam, pa liste je potrebno potem sistematično obračati...), samo sedaj ko mi je vse jasno je pa tole zelo uporabna zadeva
ako še kdo rabi tole, objavljam celotno popravljeno kodo:
na začetku je malo zamudno, dokler se ne navadiš na sistem tiskanja (več izvodov naenkrat tiskam, pa liste je potrebno potem sistematično obračati...), samo sedaj ko mi je vse jasno je pa tole zelo uporabna zadeva
ako še kdo rabi tole, objavljam celotno popravljeno kodo:
Koda: Izberi vse
'Avtor: Matjaž Prtenjak
' 12.4.2006
Sub NatisniLiheSodeStrani()
Dim StraniOd As Integer
Dim StraniDo As Integer
Dim Sode As Boolean
Dim StKopij As Integer
StraniOd = InputBox("Natisni strani OD ...", "Izberite strani", "")
StraniDo = InputBox("Natisni strani DO ...", "Izberite strani", "")
StKopij = InputBox("Koliko kopij naj natisnem ...", "Izberite strani", "")
Sode = (MsgBox("Ali tiskam SODE strani?", vbQuestion + vbYesNo, "Sode ali LIHE") = vbYes)
Dim Izbor As String
Izbor = "Izbrali ste sledeče pogoje: " & Chr(10) & _
" tiskaj strani OD " & StraniOd & Chr(10) & _
" tiskaj strani DO " & StraniDo & Chr(10)
If (Sode) Then
Izbor = Izbor & " tiskaj SODE strani " & Chr(10)
Else
Izbor = Izbor & " tiskaj LIHE strani " & Chr(10)
End If
Izbor = Izbor & " tiskaj " & StKopij & " kopij" & Chr(10) & Chr(10) & Chr(10) & _
" Ali nadaljujem s tiskanjem? "
If (MsgBox(Izbor, vbQuestion + vbOKCancel, "Ali tiskam?") <> vbOK) Then Exit Sub
Dim i As Integer
For i = StraniOd To StraniDo
If ((i Mod 2 = 0) And Sode) Or ((i Mod 2 <> 0) And (Not Sode)) Then
ActiveSheet.PrintOut From:=i, To:=i, Copies:=StKopij
End If
Next
End Sub