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