Zastanawiam się, czy występuje wzrost wydajności podczas korzystania z zewnętrznych linków vs. otwierania arkusza kalkulacyjnego i kopiowania komórek (przy użyciu VBA).Excel: Czy korzystanie z linków zewnętrznych może poprawić wydajność?
Mogę sobie wyobrazić, że Excel musi otworzyć plik tak samo, ale kiedy test za pomocą następującego kodu, zewnętrzne łączenie wychodzi szybciej:
Dim t As Double
Dim rng As Range
For Each rng In shtId.Range("A1:A5")
t = Now
ThisWorkbook.Names("rngID").RefersToRange = rng
ThisWorkbook.UpdateLink "H:\manualData.xlsx", xlExcelLinks
Debug.Print "link: " & Format(Now - t, "######.0000000")
t = Now
Workbooks.Open "H:\manualData.xlsx", readonly:=True
ActiveWorkbook.Close False
Debug.Print "open: " & Format(Now - t, "######.0000000")
Next
Results:
link: .0000116
open: .0000231
link: .0000116
open: .0000347
link: .0000000
open: .0000347
link: .0000000
open: .0000347
link: .0000000
open: .0000347
Skoroszyt posiada zakres komórek z formułami odnośników wpisane na pole ID. Te formuły mają linki zewnętrzne. Aby go przetestować, zmieniam identyfikator i wymuszam aktualizację. Aby przetestować otwarte podejście do pliku, po prostu otwieram i zamykam plik źródłowy.
Szukam przyspieszenia procesu, który ma problem z powodu niskiej przepustowości w sieci. Zbadałem już różne opcje i chciałbym zrozumieć, czy jest to poprawne. Szukałem na ten temat, a niektórzy twierdzą, że linki zewnętrzne mogą powodować problemy z wydajnością, podczas gdy niektórzy twierdzą, że jest inaczej. Chciałbym lepiej zrozumieć mechanizm zewnętrznych linków, aby móc zrozumieć, czego się spodziewać po wdrożeniu.
Jakieś myśli?
Dobre pytanie. Nie współpracuję z linkami zewnętrznymi, ale ma sens, że samo uaktualnienie linku zewnętrznego (tj. Bezpośredni dostęp do jego zawartości) byłoby szybsze niż otwarcie pliku, uzyskanie dostępu do jego zawartości i zamknięcie pliku. Przypominam jednak także o przypadkach, gdy aktualizowanie łączy jest szybsze, gdy oba skoroszyty są otwarte. Tak, dobre pytanie, +1 dla ciebie, pragnąc zobaczyć, co inni o nim mówią. –
Zmierz ponownie za pomocą (1) Ustawiając opcję Ustawiającą ekran; i (2) wystarczająca ilość danych do pomiaru zmierzonych czasów> 2 lub 3 sekundy. Zbyt wiele jest pomyłek w pomiarze wydajności, co czyni je bezużytecznymi do sensownych porównań. –
Szczerze mówiąc, uważam arkusze kalkulacyjne z linkami zewnętrznymi za "uszkodzone" arkusze kalkulacyjne. To tylko kwestia czasu, zanim zostaną opublikowane niepoprawne wyniki, prawdopodobnie z katastrofalnymi konsekwencjami. Umieść dane w bazie danych, gdzie można je prawidłowo zarządzać, zamiast w narzędziu analitycznym, bez wsparcia właściwego zarządzania danymi. –