excelov problem:iščem rešitev
excelov problem:iščem rešitev
Imam zadevo, ki bi jo rad rešil pa nevem kako! Jaz sprintam excelov dokumet (nek obrazec). Ta obrazev je oštevilčen. Sedaj bi pa rad da mi ob vsakem klikom na gumb print številko obrazca poveča za eno. Se pravi isti obrazec z drugo številko, itd. Se da to zadevo rešit s kodo v Visual Basic(kako)? Ali je kaka druga rešitev?
Pozdravljeni,
Najprej o naslovu tematike. Glede na to, da ste tematiko zapisali v forum 'Excel' je jasno, da imate probleme z Excelom in tudi upam da 'iščete' rešitev. Naslov naj nakaže kaj vas muči. Dober naslov bi bil npr. 'Kako doseči avtomatično številčenje obrazcev ob tiskanju!'
Kar pa se tiče rešitve pa je tudi dokaj trivialna in da, potrebno je poseči po VBA-ju.
Najprej o naslovu tematike. Glede na to, da ste tematiko zapisali v forum 'Excel' je jasno, da imate probleme z Excelom in tudi upam da 'iščete' rešitev. Naslov naj nakaže kaj vas muči. Dober naslov bi bil npr. 'Kako doseči avtomatično številčenje obrazcev ob tiskanju!'
Kar pa se tiče rešitve pa je tudi dokaj trivialna in da, potrebno je poseči po VBA-ju.
- Odprite Delovni zvezek
- Izberite Orodja/Makro/Urejevalnik za Visual Basic
- Odpre se novo okno, kjer imate zgoraj levo drevesno strukturo vaših odprtih odkumentov. V tem drevesu poiščite vaš delovni zvezek in kliknite na +, da se vam odpre struktura
- Videli boste seznam vseh listov in na koncu tudi opcijo ThisWorkbook. Dvokliknite na ThisWorkBook in odpre se vam novo okno, ki ima na vrhu dva padajoča seznama.
- Iz levega padajočega seznama izberite opcijo Workbook. Nato pa iz desnega seznama opcijo BeforePrint
- V kodi se vam izpiše okostje prazne funkcije:
Koda: Izberi vse
Private Sub Workbook_BeforePrint(Cancel As Boolean) End Sub
- Vmes vpišite sledečo kodo, kjer A1 zamenjajte s celico, kjer imate števec
Koda: Izberi vse
Private Sub Workbook_BeforePrint(Cancel As Boolean) Range("a1") = Range("a1") + 1 End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Seveda se da, samo malce morate premisliti . V odvisnosti od aktivnega lista pač spreminjate določeno celico:
Koda: Izberi vse
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "List1" Then Range("A1") = Range("A1") + 1
If ActiveSheet.Name = "List2" Then Range("D1") = Range("D1") + 1
If ActiveSheet.Name = "List3" Then Range("E1") = Range("E1") + 1
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Upam, da vas "muči" samo struktura IF stavka, zatorej:
Koda: Izberi vse
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "List1" Then
Range("A1") = Range("A1") + 1
Range("B1") = Range("B1") + 1
End if
If ActiveSheet.Name = "List2" Then
Range("D1") = Range("D1") + 1
Range("D4") = Range("D4") + 1
End IF
' in tako dalje
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator