< návrat zpět
MS Excel
Téma: Tvorba makra (VBA)
Zaslal/a Testament 30.9.2014 17:36
Zdravím.
Potřeboval bych, aby mi excel (2007) automaticky měnil čísla faktur a každou fakturu potom uložil zvlášť pod názvem+číslo faktury a aby po uložení smazal obsah určitých buňek.
Když jsem to zkusil vytvořit, tak jedinné co fungovalo byla změna čísla faktury.
Sub NextInvoice()
Range(“H5”).Value = Range(“H5”).Value + 1
Range(“B18:F28”).ClearContents
End Sub
Sub SaveInvWithNewName()
Dim NewFN As Variant
‘ Copy Invoice to a new workbook
ActiveSheet.Copy
NewFN = “D: ” Faktura & Range(“H5”).Value & “.xlsx”
ActiveWorkbook.SaveAs NewFN, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
NextInvoice
End Sub
Ale při pokusu o sprovoznění mi vyskočí tak akorát syntax error.
Dokázal by mi s tím někdo poradit? Zkusl jsem už několik návodů co jsem našel na googlu, ale ani jeden mi nefungoval.
kp57(30.9.2014 18:49)#021707 Sub SaveInvWithNewName()
Dim OldFN As String, OldPath As String
Dim NewFN As String, ExtFN As String
OldPath = "D:\" 'pokud jsou cesty ruzne
OldFN = ThisWorkbook.Name
ExtFN = Mid(OldFN, InStrRev(OldFN, ".")) 'pripona souboru
NewFN = "Faktura" & Range("H5").Value + 1 & ExtFN
Application.DisplayAlerts = False
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & NewFN
ThisWorkbook.SaveCopyAs OldPath & OldFN
Range("H5").Value = Range("H5").Value + 1
Range("B18:F28").ClearContents
ThisWorkbook.Save
Application.DisplayAlerts = True
End Sub
citovat
Testament(30.9.2014 19:11)#021708 Ahoj,
Díky...funguje to až na mazání buněk, protože některé jsou sloučené. Nějáký nápad?
citovat
Anonym(30.9.2014 19:22)#021709 Testament napsal/a:
Ahoj,
Díky...funguje to až na mazání buněk, protože některé jsou sloučené. Nějáký nápad?
A ještě výmysl navíc..šlo by tam něják přidat, aby se po uložení excel vypnul a po zapnutí jsem mohl pokračovat, kde jsem zkončil?
citovat
kp57(30.9.2014 22:18)#021712 Myslím, že sloučené buňky nevadí. Dej přílohu.
Možná by bylo lepší ukládat ty sešity bez maker. Ne?
citovat
Testament(1.10.2014 10:14)#021722 Mě to právě hlásí chybu kvůli sloučeným buňkám.
Asi určitě by to bylo lepší... (plus uložení kope do PDF? ale tím jsem se zatím nezabýval)
Příloha..
https://dl.dropboxusercontent.com/u/41232546/Faktura%20Vzor.xlsmcitovat
kp57(2.10.2014 20:39)#021775 Jak říkám, nevadí.
Příloha: 21775_faktura201416.rar (28kB, staženo 24x) citovat
Testament(3.10.2014 9:04)#021779 kp57 napsal/a:
Jak říkám, nevadí.Příloha: 21775_faktura201416.rar
Teď to projistotu neukládá vůbec nic
a chyba "Položka zadaného jména nenalezena"
A Debug označí
With ThisWorkbook.Sheets("Faktura").Shapes("Rectangle 1")
Takže kde je chyba teď?
citovat
kp57(3.10.2014 22:52)#021788 Opravdu? V tom sešitě který jsem poslal? V něm ale je ten ovládací prvek pojmenován "Rectangle 1". Pokud jsi ten kód překopíroval do jiného sešitu, může být jméno ovládacího prvku jiné. V příloze je kód pro zjištění jména a přejmenování.
Příloha: 21788_faktura201422.rar (30kB, staženo 26x) citovat
Testament(4.10.2014 14:04)#021790 Právě že v tom sešitě který jste posílal. Nic jsem nekopíroval nikam, jen jsem zkusil jestli to funguje a dopadlo to viz předchozí post.
citovat
kp57(4.10.2014 16:39)#021791 Pokud nepomůže přejmenování, tak potom už neumím poradit. Mně to fachčí i s původním automat jménem i s mnou přiřazeným jménem. Taky se můžou ty prc. odstranit a řešit to jinak.
citovat