Poradna - oprava VBA syntaxe
Vložení příspěvkuhlavní kategorie | zpět | + odpovědět na toto téma
oprava VBA syntaxe - diskuze na toto téma |
Zdravim, mohl by mi prosím někdo pomoci opravit toto..... Range ("H9").Formula = "=SUMPRODUCT((ThisWorkbook.Path & "\__data\" & "data-leden.xlsx" & "data - leden!" $J$6:$J$1099="ne")*1)" ..... nevím pořádně jak ve VBE psát vzorce s odkazem na jiný sešit.
dějuju Ako začiatočníkovi poradím veľmi efektívny spôsob, ktorý mnohokrát človeku pomôže a naučí niečo vlastým pričinením
Skús nasledovný postup, ktorý som používal ešte v čase Excelu4 a listoch makro modulov:
Otvor súbor2 kam sa chceš prepojiť a urob na liste bežný prepojovací zápis do nejakej bunky, vzorcom aký potrebuješ. Potom súbor2 ulož, zatvor. V súbore1 ostane vzorec.
ZAPNI nahrávanie makier a edituj túto bunku, po Enteri vypni zaznamenávanie makra. Vo VBEditore by si mal mať už riadny a prijateľný tvar syntaxe. Odpověď Takže, já jsem zkoušel během dne mnoho variant. a tohle <code> ActiveCell.Formula = "=SUMPRODUCT(('C:\work\data\[zdroj.xlsx]List1'!R2C4:R12C4=""Ne"")*1)" </code> je to co mi teď vzniklo, a funguje to, a už jsem to měl i včera, problém je, že do toho potřebuju naroubovat ještě <code>ThisWorkbook.Path & "\data\"</code> abych měl udělanou relativní návaznost na druhej soubor. Uplně si právě nevim rady jak to skombinovat... Odpověď Nastavit dočasný adresár môžeš cestou udalosti open alebo close, napr.
Private Sub Workbook_Open()
OldPath = Application.DefaultFilePath
Application.DefaultFilePath = "D:\skuska"
End Sub
Private Sub Workbook_Before_Close()
Application.DefaultFilePath = OldPath
End Sub
Odpověď V jistejch případech asi dobrý, ale stejně bych se vrátil k tomu co potřebuju. Nikde nesmí bejt napsaná absolutní cesta (C:\work\ atd) takže bych měl představu, že napíšu něco jako ..... PCesta = ThisWorkbook.Path a pak do vzorce "=SUMPRODUCT" místo absolutní cesty "C:\..." napsat jen "PCesta" ale právě nevim jak to správně sestavit. Ale takhle by to fungovat mělo... Odpověď |