Přejít na hlavní obsah

Jak aktualizovat odkazy při otevírání pracovních knih VBA Excel

V programu Microsoft Excel lze použít VBA (Visual Basic for Applications) k automatizaci rutinních úloh a zlepšení datových procesů. Jedním z takových úkolů je aktualizace odkazů při otevírání pracovních knih.

Odkazy v pracovních knihách aplikace Excel mohou naznačovat různé soubory a rozsahy dat. Při otevření knihy Excel automaticky aktualizuje tyto odkazy a aktualizuje informace, například pokud byl soubor přesunut nebo byl přidán nový obsah. Někdy je však nutné ručně aktualizovat odkazy při otevírání knihy, abyste mohli spravovat procesy nebo provádět další změny.

K aktualizaci odkazů při otevírání pracovního sešitu VBA Excel lze použít událost "Workbook_Open". Tato událost se automaticky spustí při otevření knihy. Ve zpracovateli této události lze napsat kód, který provede potřebné kroky k aktualizaci odkazů.

Příklad kódu, který provádí aktualizaci odkazů při otevření pracovního sešitu:

Private Sub Workbook_Open()

Application.AskToUpdateLinks = False

Application.DisplayAlerts = False

ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources

Application.AskToUpdateLinks = True

Application.DisplayAlerts = True

End Sub

Tento kód deaktivuje oznámení o aktualizaci odkazů, aktualizuje odkazy a poté znovu zapne oznámení. Tento kód můžete změnit podle svých potřeb a požadavků.

Příprava na aktualizaci odkazů

Před aktualizací odkazů v pracovních knihách je třeba provést několik důležitých kroků k přípravě. Tyto akce pomohou vyhnout se ztrátě dat a problémům s aktualizací odkazů.

1. Zálohujte pracovní sešit:

Před zahájením práce s pracovním sešitem se doporučuje zálohovat soubor. To vám umožní zachovat původní verzi knihy a v případě potřeby se k ní vrátit.

2. Zkontrolujte integritu dat v knize:

Ujistěte se, že všechna data v sešitu jsou aktuální a neobsahují žádné chyby. Aktualizace odkazů může vést k nesprávnému zobrazení nebo ztrátě dat, proto je důležité předem zkontrolovat jejich integritu a správnost.

3. Věnujte pozornost typům odkazů:

Před aktualizací odkazů je třeba určit typy odkazů, se kterými pracujete. V Excelu existují dva hlavní typy odkazů-absolutní a relativní.

Absolutní odkazy obsahují celou cestu k souboru, včetně disku a složek, a lze je použít k odkazování na soubory, které jsou mimo aktuální složku. Obvykle se používají, když se chcete obrátit na soubor mimo aktuální pracovní sešit.

Relativní odkazy jsou definovány vzhledem k aktuální složce nebo umístění pracovního sešitu a obvykle se používají, když jsou všechny soubory ve stejné složce nebo jsou spojeny s aktuální složkou.

4. Aktualizujte odkazy na existující soubory:

Před provedením aktualizace odkazů je třeba se ujistit, že související soubory existují a jsou k dispozici k aktualizaci. Pokud jsou soubory přesunuty nebo přejmenovány, měli byste před provedením dalších kroků aktualizovat cesty k nim.

Podle těchto pokynů připravíte pracovní knihu na přechod k aktualizaci odkazů. To vám pomůže vyhnout se možným problémům a poruchám v procesu aktualizace.

Vyhledávání zastaralých odkazů v Excelu

Při práci se soubory aplikace Excel, zejména velkými pracovními knihami, je nevyhnutelné aktualizovat odkazy na jiné soubory nebo buňky. V některých případech, po změně cesty k souboru nebo jeho odstranění, dojde k situaci, kdy odkazy v souboru Excel zastarají.

Chcete-li najít starší odkazy a aktualizovat je v Excelu, můžete použít makra VBA. VBA (Visual Basic for Applications) umožňuje automatizovat mnoho akcí v Excelu a včetně vyhledávání a aktualizace odkazů.

K nalezení zastaralých odkazů v Excelu lze použít následující přístup:

  1. Otevřete soubor Excel, ve kterém chcete najít zastaralé odkazy.
  2. V nabídce vývojář vyberte makro nebo klikněte Alt + F8 pro otevření okna makra.
  3. Kliknutím na" Vytvořit " vytvoříte nové makro.
  4. V okně editoru VBA vložte následující kód:

Sub Поиск_устаревших_ссылок()Dim Местоположение As StringDim РабочаяКнига As WorkbookDim Ссылка As VariantМестоположение = "C:\Путь\к\файлу.xlsx" ' замените на свой путь к файлуSet РабочаяКнига = Workbooks.Open(Местоположение)For Each Ссылка In РабочаяКнига.LinkSources(xlExcelLinks)MsgBox "Устаревшая ссылка: " & СсылкаNext СсылкаРабочаяКнига.CloseEnd Sub

Po nalezení zastaralých odkazů je možné pokračovat v jejich aktualizaci. K tomu lze použít jiné makro VBA, které nahradí zastaralé odkazy na aktuální:

    Vytvořte nové makro a vložte do něj následující kód:

Sub Обновление_ссылок()Dim Местоположение As StringDim РабочаяКнига As WorkbookDim Ссылка As VariantDim НовоеМестоположение As StringМестоположение = "C:\Путь\к\файлу.xlsx" ' замените на свой путь к файлуНовоеМестоположение = "D:\Новый\путь\к\файлу.xlsx" ' замените на свой новый путь к файлуSet РабочаяКнига = Workbooks.Open(Местоположение)For Each Ссылка In РабочаяКнига.LinkSources(xlExcelLinks)РабочаяКнига.ChangeLink Ссылка, НовоеМестоположение & "\" & Right(Ссылка, Len(Ссылка) - InStrRev(Ссылка, "\"))Next СсылкаРабочаяКнига.SaveРабочаяКнига.CloseEnd Sub

Použití maker VBA vám tedy umožňuje rychle a efektivně najít a aktualizovat zastaralé odkazy v souborech Excel. To je zvláště užitečné při práci s velkými pracovními knihami obsahujícími mnoho odkazů.

Použití VBA k aktualizaci odkazů

Při práci s pracovními knihami v aplikaci VBA Excel dochází k situacím, kdy se mohou změnit odkazy na soubory nebo buňky. V takovém případě je nutné aktualizovat odkazy, aby odkazovaly na správné objekty nebo data.

Pro práci s odkazy v aplikaci VBA Excel lze použít různé metody a vlastnosti, které umožňují správu odkazů a jejich aktualizaci. Zde jsou některé z nich:

  • ActiveWorkbook.UpdateLink-slouží k aktualizaci všech odkazů na jiné soubory v aktivní pracovní knize;
  • Workbook.ChangeLink-umožňuje změnit odkaz na jiný soubor v uvedené pracovní knize;
  • Range.Hyperlinks-umožňuje spravovat hypertextové odkazy v buňkách, včetně jejich aktualizace;
  • Workbook.UpdateRemoteReferences-aktualizuje všechny externí odkazy v aktivní pracovní knize;
  • Workbook.UpdateLinks-aktualizuje všechny odkazy na jiné soubory v aktivní pracovní knize;

Příklad použití VBA k aktualizaci odkazů na jiné soubory:

Sub UpdateLinks()Dim wb As WorkbookSet wb = ActiveWorkbook' Обновление всех ссылок на другие файлы в активной рабочей книгеwb.UpdateLinksMsgBox "Ссылки успешно обновлены!"End Sub

Tento příklad používá metodu UpdateLinks k aktualizaci všech odkazů na jiné soubory v aktivní pracovní knize. Po dokončení aktualizace se zobrazí zpráva o úspěšné aktualizaci odkazů.

Můžete také použít jiné metody a vlastnosti aplikace VBA Excel pro flexibilnější správu odkazů a jejich aktualizaci v pracovních knihách.