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:
- Otevřete soubor Excel, ve kterém chcete najít zastaralé odkazy.
- V nabídce vývojář vyberte makro nebo klikněte Alt + F8 pro otevření okna makra.
- Kliknutím na" Vytvořit " vytvoříte nové makro.
- 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.