[ Sudarica @ 19.01.2011. 19:42 ] @
Molim pomoć

Htjela bi pomoću makroa iz aktivne radne knjige "Lista".xlsx da za svaku popunjenu ćeliju u stupcu B (ima ih i oko 500) pozvati predložak (C:\Evidencija.xltm) u predlošku pozvati UserForm frmFilter i u Textbox txtIme upisati podatak iz ćelije u stupcu aktivne radne knjige "Lista".xlsx kliknuti na OK UserForm frmFilter i za svaku ćeliju pospremiti predložak kao

NazivKnjige = "C:\Arhiva" & Trim(ActiveSheet.Range("C4").Text) & "_" & Trim(ActiveSheet.Range("G4").Text)
ActiveWorkbook.SaveAs NazivKnjige, FileFormat:=xlOpenXMLWorkbookMacroEnabled
ActiveWorkbook.Close

( Predložak ima makro naredbu )

Hvala na pomoći

[ Jpeca @ 25.01.2011. 15:39 ] @
Pretpostavljam da se glavni deo procedure odvija na klik dugmeta OK nakon otvaranja forme frmUnos i popunjavanja textboxa. Čini mi se najjednostavnije da formiras novu proceduru u predlošku na osnovu postojeće procedure na klik dugmeta u kojoj ćeš eliminisati upotrebu forme. Umesto textboxa koristiš parametar procedure string
1/ Novu proceduru kreiraj u modulu
2/ Nova procedura treba da ima jedan parametetar (zamena za txtUnos)
3/ Zatvanje forme koje se obično koristi u događaju klik jednostavno izbaci

Na ovaj način formirana je procedura koja će se pozvati iz druge radne sveske, ali bez otvaranja i zatvaranja forme. U aktivnoj radnoj svesci ubacuješ kod koji otvara radnu svesku na osnovu predloška i poziva ovaj makro sa odgovarajućim parametrima i obavlja snimanje.

Code:
Sub TestPoziv()

Dim wbt As Workbook
Dim shActive As Worksheet
Set shActive = ThisWorkbook.ActiveSheet
'Otvara novu radnu svesku na osnovu sablona. Izmeniti putanju do sablona
Set wbt = Workbooks.Add( Template:= _
        "C:\Documents and Settings\peca.GOWI.000\Application Data\Microsoft\Templates\Evidencija.xltm")
' Snima radnu svesku kako bi se dobilo ime 
wbt.SaveAs  _
"C:\Arhiva\" & Trim(shActive.Range("C4").Text) & "_" & Trim(shActive.Range("G4").Text) & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
' Poziva makro  u drugoj radnoj svesci sa jednim stringom kao argumentom
Application.Run "'" & wbt.Name & "'!TestForm", "Maja" 
' Snima i zatvara radnu svesku na osnovu predloska
wbt.Save
wbt.Close
End Sub
[ Sudarica @ 24.04.2011. 09:08 ] @
Ispričavam se što se nisam zahvalila ali ovaj makro radi savršeno baš onako kako mi treba. Hvala na pomoći i još jednom velika isprika