Stránka 1 z 1

Excel - propojení sešitu a jejich aktualizace

Napsal: 05 pro 2014 19:57
od p.bublik
Ahoj,
chtěl jsem se zeptat, zda jde nastavit a případně jak v Excelu propojení více sešitů do jednoho a jeho následná aktualizace.
Příklad: soubor.xlsx má (sdíleno - otevřeno třeba na 5PC) v tomto souboru je odkaz na buňku umístěnou v souboru např. narozeniny.xlsx

Nyní bych potřeboval, když v narozeninách udělám změnu v buňce tak aby se změna provedla na všech PC bez nutnosti vypnout a zase zapnout s načtením aktuálních dat soubor.xlsx

Zkoušel jsem nastavit Připojení sešitu (doufám, že správně) viz přiložený obrázek a bohužel to nefunguje. Změna se projeví jen na PC kde provedu změnu v narozenin, ale ne na ostatních PC bez retartu souboru.xlsx

Nevím jak dál, byl bych rád když někdo poradí nebo jestli nějaký vhodný makro? aktualizace třeba 1xza 2hodiny a tak.
Děkuji

Re: Excel - propojení sešitu a jejich aktualizace

Napsal: 07 pro 2014 21:44
od mike007
Na aktualizování linků a také automatické uložení xls(m) používám makro níže. Interval updatu se nastavuje u Const TimeOut.

Nakopíruj do modulu:

Kód: Vybrat vše

Public vartimer As Variant
Const TimeOut = 5 ' 5 minut
 
Sub autoupdate()

' provedeme update

On Error Resume Next
ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
On Error GoTo 0
ActiveWorkbook.Save

'volame makro
Call cas

End Sub
 
Sub cas()
    vartimer = Format(Now + TimeSerial(0, TimeOut, 0), "hh:mm:ss")
    If vartimer = "" Then Exit Sub
    Application.OnTime TimeValue(vartimer), "autoupdate"
End Sub
 
Sub ukladani()
    On Error Resume Next
    Application.OnTime earliesttime:=vartimer, _
    procedure:="autoupdate", schedule:=False
    On Error GoTo 0
End Sub


Nakopíruj do ThisWorkbook:

Kód: Vybrat vše

Private Sub Workbook_Open()
    Call cas
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call ukladani
End Sub


Makro se spustí při otevření xls(m) a pak každých x minut.