Ręczne zmienianie każdego łącza poprzez wybór odpowiedniego polecenia jest dość czasochłonne, tym bardziej że okno dialogowe Zmienianie źródła otwiera się w domyślnej ścieżce lokalizacji plików i za każdym razem musimy przechodzić przez kilka folderów, aby dostać się do konkretnego pliku. Wyjaśniamy, jak to szybciej zrobić z wykorzystaniem makra.
Szybkie aktualizowanie łącz do zewnętrznych skoroszytów
Pracujemy w skoroszycie zawierającym główny budżet firmy. Znajdują się w nim odwołania do innych zestawień budżetowych zawartych w oddzielnych plikach. W skoroszycie z budżetem głównym potrzebujemy często zmieniać łącza do kolejnych zestawień, aby móc tworzyć podsumowania dla poszczególnych oddziałów firmy.
Rysunek 1. Budżet główny oparty na danych z innych skoroszytów, zawierających miesięczne budżety poszczególnych komórek organizacyjnych
Aby utworzyć makro zmieniające łącza w skoroszycie:
-
Otwórzmy Edytor Visual Basic za pomocą kombinacji klawiszy lewy [Alt]+[F11].
-
Dodaj moduł standardowy (Insert/Module), w którym umieścimy makro.
-
W oknie kodu, które się pojawi, wpiszmy następujące makro:
Sub ZmieńŁącza()
Dim łącza, łącze As Variant
Dim ścieżka As String
łącza = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(łącza) Then
For Each łącze In łącza
ścieżka = InputBox("Zmień łącze do pliku: " & łącze, "Zmień łącza", łącze)
If Dir(ścieżka) <> "" Then
ActiveWorkbook.ChangeLink łącze, ścieżka
ElseIf ścieżka <> "" Then
MsgBox "Nie znaleziono takiego pliku"
End If
Next
Else
MsgBox "Nie znaleziono żadnych łączy do innych skoroszytów"
End If
End Sub
-
Zapiszmy kod i zamknijmy Edytor VBA.
Makro można uruchomić w następujący sposób:
-
Wybierzmy polecenie Widok/Makra/Wyświetl makra.
-
Na liście makr wybierzmy makro o nazwie ZmieńŁącza i naciśnijmy przycisk Uruchom.
Dla każdego łącza pojawi się okno ze ścieżką do innego skoroszytu (rysunek 2). Można ją zmienić lub pozostawić bez zmian.
Rysunek 2. Okno dialogowe ze ścieżką do innego skoroszytu, którą można zmienić
Po zmianie wszystkich łączy na pliki z budżetami główny raport będzie pokazywał stan finansów firmy w innym miesiącu.
Zobacz także:
Tagi: excel
