[ gordecka @ 04.01.2010. 19:28 ] @
Napravio sam fakturu u excel-u, uz pomoc Vlokup funkcije da iz padajuceg menija celije oznacim firmu kojoj pisem fakturu,i automatski se ubacuju podaci firme(adresa i PIB).Odradio sam i makro za stampanje u dva primerka(da skratim vreme podesavanja printera).Datum fakturisanja sam odradio sa NOW() a datum valute sa NOW()+7(dodaje 7 dana na trenutni datum).Sve to lepo radi, ali mi je problem kada treba da sacuvam fakturu(za tu firmu).To sam do sad radio sa "save as",ali imam da otvorim 5 foldera kod ne dodjem do pozicije na koju treba da je sacuvam.Pitanje:
moze li se odraditi Makro tako da sacuva fakturu za u firmu,ali da automatski doda broj fakture u formatu 001/2010(koji bi se povecavao za 1 prilikom snimanja fakture),kao i naziv firme koji se koristi u fakturi.Znaci da mi snimi fakturu pod nazivom : 010/2010 "Betonjerka "d.o.o.xls
[ Take 5 @ 04.01.2010. 19:58 ] @
^ Kosa crta "/" neće moći u nazivu fajla sa tim moraš da se pomiriš (nedozvoljen znak!)
Bolja praksa je da broj fakture predstavljaš kao broj godine - broj fakture (gg - BrojFakture)

Da ne ulazimo preterano u detalje evo ti uzorak koda pa ga prilagodi po potrebi

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim stLine As String ', FileSaveName As String



stLine = "" & Right(Year(Range(["DATUM"])), 2) _
& "-" & Range(["BROJFAKTURE"]) _
& " " & Range(["NAZIV_FIRME"])

If Me.Name = stLine & ".xls" Then
    Exit Sub
Else
If Range(["BROJFAKTURE"]) <> "000" Then
    FileSaveName = Application.GetSaveAsFilename("" & Right(Year(Range(["DATUM"])), 2) _
    & "-" & Range(["BROJFAKTURE"]) _
    & " " & Range(["NAZIV_FIRME"]), fileFilter:="Excel Files (*.xls), *.xls")
        If FileSaveName <> False Then
            ActiveWorkbook.SaveAs Filename:=FileSaveName

        End If
End If
End If

End Sub

Napomena:
U xlt template fajlu su definisana imena (Name) i vrednosti za određena polja:
DATUM (kod otvaranja nove je uvek današnji ako ti ne uneseš drugačije)
BROJFAKTURE (kod otvaranja nove je uvek "000" dok ti ne uneseš važeći broj)
NAZIV_FIRME (kod otvaranja nove je uvek "NAZIV FIRME" dok ti ne uneseš važeći)

Prilikom zatvaranja fajla nudi se u "Save As" prozoru ime fajla u obliku:
10-001 Naziv firme.xls na putanji koja je na nivou Excela zadata kao podrazumevana (...\Documents\Excel\)
Gde je:
godina
broj fakrure

Ako se radi o fajlu koji već ima prethodno definisan naziv (otvaraš ga ponovo) onda ova procedura ne radi ništa...

Postoji i deo koda koji proverava da li je unet broj fakture umesto "000", pa ako nije onda upozorava korisnika da mora da unese validan broj... itd...
;)

[Ovu poruku je menjao Take 5 dana 04.01.2010. u 21:11 GMT+1]
[ gordecka @ 04.01.2010. 20:49 ] @
Ufff...,malo mi je ovo komplikovano.Ajde ako nije problem da prvo pokusamo da odradimo samo snimanje na odredjenu lokaciju(koju ja hocu da odredim) ali da sam upisujem naziv fakture.Evo u prilogu je i primer fakture,pa ako moze detaljnije objasnjenje jel sam u ovom stvarno pocetnik, a bice lakse sa konkretnim primerom.Hvala!
[ Take 5 @ 04.01.2010. 22:20 ] @
A da mi to pojednostavimo skroz i da privremeno zaboravimo Excel?

Umeš li ti u nekom folderu da napraviš prečicu do nekog drugog foldera?

[ gordecka @ 06.01.2010. 00:00 ] @
Hvala bogu, to umem.
[ Take 5 @ 06.01.2010. 01:44 ] @
Otkud ti onda ovo predstavlja problem?
Citat:
gordecka: ... To sam do sad radio sa "save as",ali imam da otvorim 5 foldera kod ne dodjem do pozicije na koju treba da je sacuvam.


... da zanemarimo sve ostalo prethodno rečeno.

[ gordecka @ 06.01.2010. 18:05 ] @
Pa nisam o tome ni razmisljao, stalno mi bilo u glavi da to bude direktno u fakturi, misleci da cu mnogo lakse resiti problem ,ali sam se prevario.Za sada cu raditi tako, ali se ne predajem.I za ovo sto sam do sada odradio sam puno pretrazivao forum, i pokusavao na raznim primerima i savetima,i uspelo mi je.Malo ,po malo i dobio sam fakturu koja na nesto lici.Hvala i pozdrav!