Printanje več listov zapored
Printanje več listov zapored
Pozdravljeni,
v excel zvezku imam kar precej listov z podatki. Rad bi napisal makro,
ki bi mi iz zvezka izsprintal vsak list, če je v tem listu v celici "a1 neka vrednost.
Problem je tudi ta, da je v listih polno formul(pa tudi v celici a1), skratka, neznam
si čist predstavljati kakšen bo makro, da ne bo formulo prepoznal kot vrednost.
za odgovor se najlepše zahvaljujem.
lp Rick
v excel zvezku imam kar precej listov z podatki. Rad bi napisal makro,
ki bi mi iz zvezka izsprintal vsak list, če je v tem listu v celici "a1 neka vrednost.
Problem je tudi ta, da je v listih polno formul(pa tudi v celici a1), skratka, neznam
si čist predstavljati kakšen bo makro, da ne bo formulo prepoznal kot vrednost.
za odgovor se najlepše zahvaljujem.
lp Rick
Re: Printanje več listov zapored
Pozdravljeni,
ne razumem čisto, kaj ste želeli povedati s tistim o formulah v celici A1, toda izven tega je makro skrajno preprost:
ne razumem čisto, kaj ste želeli povedati s tistim o formulah v celici A1, toda izven tega je makro skrajno preprost:
Koda: Izberi vse
Sub NatisniListe()
Dim ws As Worksheet
For Each ws In Workbook
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Printanje več listov zapored
pozdravljeni,
...recimo, da je v celici a1 formula, in če je vrednost te celice večja od 0, potem naj printa, sicer ne.
lp Rick
...recimo, da je v celici a1 formula, in če je vrednost te celice večja od 0, potem naj printa, sicer ne.
lp Rick
Re: Printanje več listov zapored
Torej se spremeni samo pogoj - formula nima nobene zveze - vrednost je vrednost ali vpisana ali pridobljena s formulo:
Koda: Izberi vse
...
If (ws.Range("A1") > 0) Then
...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Printanje več listov zapored
pozdravljeni,
sem razumel, vendar se ustavi na : For Each ws In Workbook
sem razumel, vendar se ustavi na : For Each ws In Workbook
Re: Printanje več listov zapored
sem uredil, najlepša hvala
Re: Printanje več listov zapored
pozdravljeni,
kako bi nadgradil makro:
Sub NatisniListe()
Dim ws As Worksheet
For Each ws In Workbook
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
...in sicer, da mi printa liste v obsegu od 1 do 80( torej list; 1,2,3,4,5,6,7.......do 80), v kilikor je vrednost v celici a1=12
za odgovor se najlepše zahvaljujem.
pl Rick
kako bi nadgradil makro:
Sub NatisniListe()
Dim ws As Worksheet
For Each ws In Workbook
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
...in sicer, da mi printa liste v obsegu od 1 do 80( torej list; 1,2,3,4,5,6,7.......do 80), v kilikor je vrednost v celici a1=12
za odgovor se najlepše zahvaljujem.
pl Rick
Re: Printanje več listov zapored
Koda: Izberi vse
Sub NatisniListe()
Dim ws As Worksheet
Dim i as integer
For i = 1 to 80
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Printanje več listov zapored
pozdravljeni,
žal se ustavi tukaj:
If (ws.Range("A1") > 0) Then
in napiše: object variable or with block variable not set
za nadaljno pomoč se iskreno zahvaljujem.
lp Rick
žal se ustavi tukaj:
If (ws.Range("A1") > 0) Then
in napiše: object variable or with block variable not set
za nadaljno pomoč se iskreno zahvaljujem.
lp Rick
Re: Printanje več listov zapored
Ah, da...
Koda: Izberi vse
Sub NatisniListe()
Dim ws As Worksheet
Dim i as integer
For i = 1 to 80
set ws = worksheets(i)
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Printanje več listov zapored
pozdravljeni,
se vrtim v začaranem krogu....makro se mi ustavlja na: Set ws = Worksheets(i)
nekako mi zmanjkuje idej, kaj pravzaprav delam narobe?
za odgovor se zahvaljujem.
lp Rick
se vrtim v začaranem krogu....makro se mi ustavlja na: Set ws = Worksheets(i)
nekako mi zmanjkuje idej, kaj pravzaprav delam narobe?
za odgovor se zahvaljujem.
lp Rick
Re: Printanje več listov zapored
In kakšno napako vam javlja? Če vam javi 'Subscript out of range' - to je namreč edina napaka, ki bi vam jo lahko VBA tam javil... potem pač pomeni, da v konkretnem delovnem zvezku pač nimate 80 listov!
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Printanje več listov zapored
pozdravljeni,
aha, to pa nisem razumel.....imam v bistvu 82 listov. eden list se imenuje "leto", drugi pa "mesec"....no potem pa imam še 80 listov, ki se imenujejo "1", "2","3"..............."80".
Torej tisti listi ki se imenujejo od 1 do 80 naj se izprintajo, če je v celicah a1>1.
Se opravičujem, če sem narobe zastavil problem.
Upam, da ste me sedaj razumeli..
lp Rick
aha, to pa nisem razumel.....imam v bistvu 82 listov. eden list se imenuje "leto", drugi pa "mesec"....no potem pa imam še 80 listov, ki se imenujejo "1", "2","3"..............."80".
Torej tisti listi ki se imenujejo od 1 do 80 naj se izprintajo, če je v celicah a1>1.
Se opravičujem, če sem narobe zastavil problem.
Upam, da ste me sedaj razumeli..
lp Rick
Re: Printanje več listov zapored
sem rešil, najlepša hvala za pomoč
lp Rick
lp Rick
Re: Printanje več listov zapored
pozdravljeni;
kako bi v tole kodo:
Sub NatisniListe()
Dim ws As Worksheet
Dim i as integer
For i = 1 to 80
set ws = worksheets(i)
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
vnesel še msgbox, ki bi mi samo preštel liste in napisal.... recimo, da ni napiše "natisnilo se bo 42 listov"
za odgovor se najlepše zahvaljujem.
lp Rick
kako bi v tole kodo:
Sub NatisniListe()
Dim ws As Worksheet
Dim i as integer
For i = 1 to 80
set ws = worksheets(i)
If (ws.Range("A1") = 12) Then
ws.PrintOut
End If
Next
End Sub
vnesel še msgbox, ki bi mi samo preštel liste in napisal.... recimo, da ni napiše "natisnilo se bo 42 listov"
za odgovor se najlepše zahvaljujem.
lp Rick