[ Ledeni26 @ 30.05.2006. 09:09 ] @
Kako da postavim neki brojac u excelu da mi prilikom svakog pokretanja automatski postavi redni broj, npr 001,002,003 itd sto bi meni sluzilo kao broj nekog predracuna !

Moze li mi neko pomoci !"?


Unaprijed hvala !!!
[ Jpeca @ 30.05.2006. 12:52 ] @
Mozes na dogadjaj AutoOpen radne sveske da primeniš ažuriranje tog polja (kod mene polje A2 na prvom listu).
U konkretnoj radnoj svesci Otvori VBA Editor Alt +F11.
1/ Izaberi Workbook is project explorera (stablo sa leve strane )
2/ Izaberi Workbook iz dropdown liste na vrhu (General)
3/ Upiši sledeći kod:
Code:

Private Sub Workbook_Open()
   Sheets(1).Range("A2").Value = Format(Val(Range("A2").Text + 1), "000")
End Sub
[ Ledeni26 @ 30.05.2006. 19:17 ] @

Da ovo radi ali pod uvjetom da snimim predhodni broj:

Ali dali je moguće da to uradim ali da ne snimim to?
Jer ja samo obavim predracun i ne snimama ga jer su mi potrebna prazna polja kod unosa, kada sljedeci put unesim zadatak da mi nesto proracuna.
a zelim da znam koliko sam puta to pokrenuo, tj napravio tih predracuna.

Hvala
[ Brz_na_tastaturi @ 31.05.2006. 01:28 ] @
Možes broj da upisuje i da ga citas iz Registar baze, kljuc (HKEY_CURRENT_USER\Software\VB and VBA Program Settings)


Code:

Private Sub Workbook_Open()
On Error GoTo hmgreska

Dim brojOt As Integer
Dim ZaGresku As Integer
Dim Ponovi As Integer
Dim Procitaj As Variant

'Citanje prethodne vrednosti iz registar baze (HKEY_CURRENT_USER\Software\VB and VBA Program Settings)
Procitaj = GetAllSettings(appname:="Predracun", section:="Vrednost")
brojOt = Procitaj(Ponovi, 1) + 1

'Pretpostavka je da ti je taj broj potreban u celiji A2, 
'a sam prikaz u formatu 000 podesi iz menija format cells ili iskombinuj sa prethodnim primerom

Cells(2, 1).Value = brojOt


' Upis nove vrednosti u registar bazu
SaveSetting appname:="Predracun", section:="Vrednost", _
key:="Broj otvaranja", setting:=brojOt

Exit Sub
    
hmgreska:
MsgBox "Nije postavljena pocetna vrednost ili je kljuc izbrisan iz Registar baze", vbOKOnly, "GRESKA"

ZaGresku = InputBox("Unesite novu pocetnu vrednost", "Unosenje inicijalne vrednosti brojaca", 0)
SaveSetting appname:="Predracun", section:="Vrednost", _
key:="Broj otvaranja", setting:=ZaGresku

End Sub
[ Jpeca @ 31.05.2006. 07:21 ] @
Pa da bi uvećao prethodnu vrednost nekako moraš da snimiš - u istom fajlu, u drugom fajlu, na drugoj strani .... Interesantno rešenje je sa upisom i čitanjem registra, ali može da nastane problem ako ovu tabelu koristi više komercijalista sa različitih računara. Najjednostavnije je da odmah nakon uvećanja vrednosti snimiš fajl -sa praznim poljima - pa nakon toga nećeš morati ponovo da ga snimiš. Dakle:
Code:

Private Sub Workbook_Open()
   Sheets(1).Range("A2").Value = Format(Val(Range("A2").Text + 1), "000")
   ActiveWorkbook.Save
End Sub


Nije mi jasno da elemente predračuna nigde nesnimiš - čini mi se da će ti to kad tad zatrebati - npr. za kasnije analize potražnje. U tom slučaju ispravno rešenje je da svaki put snimiš fajl na kraju rada, a u događaj OpenWorkbook prebaciš sve podatke na novi list - i formiraš neku vrstu baze predračuna, pa zatim obrišeš polja za novi unos.

[ Ledeni26 @ 31.05.2006. 10:48 ] @
Pokusao sam ali izgleda uzalud, pa bih zamolio da mi neko pokusa pomoci konkretno na ovom mome programu koji sam ja napravio za obracun dimnjaka, dakle:
na poljima 14,16,18,20,25,30 ja unosim podatke a na izlaznom računu:R14,R16,R18,R20,R25,R30 bih zelio da mi ispod naziva PREDRAČUN i piše broj toga predračuna.

Kada unesem one CODE, to radi ali samo na sheet 1, a meni treba da broji na svih 6 stranica tj sheetova.

Unaprijed se zahvaljujem, te vam saljem ovaj svoj programcim i sifru.
sifra je : MAX
[ Jpeca @ 31.05.2006. 13:21 ] @
Nije mi jasno u čemu je problem. Ukoliko vrednosti na svim listovima treba da budu iste ažuriraš vrednost na jednoj stranici (npr. R14), a napišeš samo formulu na svim ostalim stranicama ='R14'!e10
[ Ledeni26 @ 31.05.2006. 14:15 ] @
HVALA puno si mi pomogao !!!