Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.06.2025 08:39:33
19.06.2025 20:41:29
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kopieren von Formeln mit externen Links

Kopieren von Formeln mit externen Links
15.06.2009 10:03:59
Formeln
Hallo
was ich versuche zu machen ist folgendes:
I habe zwei Exceldateien. Eine (Quelle) welche viele Formeln mit externen Verweisen enthält. Ich muss die Formeln aus der Quelldatei in die Zieldatei kopieren. Das an sich stellt natürlich kein Problem dar. Jedoch werden die externen Verweise sofort aktualisiert, sobald ich die Formel in der Zieldatei eingefügt habe. Da die Verbindung zu dem Server auf dem diese extern verlinkten Dateien liegen sehr langsam ist dauert ein Update mehrere Sekunden.
Jedoch habe ich sehr viele Zellen die ich mittels einer Schleife durchlaufe und damit summiert sich die Zeit und das Makro würde viele Stunden benötigen. Ich muss jede dieser Zellen einzeln behandeln, da verschiedene Tests durchgeführt werden, abhängig von deren Inhalt, Formel, Zellhintergrund, usw.
Was ich also gerne machen würde ist, zuerst alle Formeln kopieren und am Ende Excel dazu zwingen all Links upzudaten und neu zu berechnen. Bis jetzt habe ich alles versucht, was mir in den Sinn kam. Manuelle Berechnung aktivieren, die Aktualisierung externer Links zu unterbinden, usw. Nichts hat bis jetzt funktioniert. Sobald ich die Formel, welche externe Verweise enthält, kopiere wird diese sofort aktualisiert.
Hat jemand eine Idee?
Hier ist der Code. Total simpel, nur die externen Verknüpfungen bereiten mit Kopfzerbrechen.
If .Range(rcell.Address).HasFormula Then 'Formel kopieren
rcell.FormulaLocal = .Range(rcell.Address).FormulaLocal
'
else
.
.
.
Danke
Uwe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Formeln mit externen Links
15.06.2009 13:33:26
Formeln
Hallo Uwe,
wenn Du erst mal die automatische Berechnung während der Prozedur deaktivierst:

Sub Test()
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
'Deine Prozedur - Am Ende deiner Prozedur solltest Du diese aber wieder aktivieren
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub


Vielleicht hilft es ja.
Gruss
PointOfView (Oliver)

Anzeige
AW: Kopieren von Formeln mit externen Links
15.06.2009 14:31:34
Formeln
Hallo Oliver,
danke für deine Antwort, aber das habe ich schon versucht, ist eigentlich in einem Standard-Header bei mir drinnen.
Tatsächlich habe ich bereits folgendes versucht:

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.Interactive = False
wkbOrg.UpdateRemoteReferences = False
wkbTemplate.UpdateRemoteReferences = False
wkbOrg.UpdateLinks = xlUpdateLinksNever
wkbTemplate.UpdateLinks = xlUpdateLinksNever


Normale Formeln lassen sich damit beinflussen, jedoch wird trotz dieser Einstellungen eine Verbindung zu den verlinkten Dateien hergestellt und ausgewertet.
Dieses möchte ich aber unterbinden. Allerdings bin ich mir nicht sicher, ob es eine Einstellung gibt, die dies bewirkt.
Cu Uwe

Anzeige
AW: Kopieren von Formeln mit externen Links
15.06.2009 15:03:36
Formeln
Hallo Uwe,
lad doch mal zum besseren Verständnis eine Beispieldatei hoch. Musst Du die Formeln zwingend mitkopieren, oder kannst Du auch mit den Werten aus der Basisdatei arbeiten und in deiner Zieldatei dann diese Werte über Formeln in bspw. einer Nachbarspalte berechnen?
Gruss
PointOfView (Oliver)
Anzeige
AW: Kopieren von Formeln mit externen Links
15.06.2009 15:23:56
Formeln
Hallo Oliver,
prinzipiell ist mein Anliegen ganz simpel:
Eine Datei enthält Formeln mit einem Verweis auf ein anderes Blatt /bzw. mehrere Blätter. Z.B:

=WENN(SVERWEIS($A25;'\\Netzwerkpfad\[VerlinkteDatei.xls]Oktober'!$A$1:$AF$200;B$1;FALSCH)0; _
SVERWEIS($A25;'\\Netzwerkpfad\[VerlinkteDatei.xls]Oktober'!$A$1:$AF$200;B$1;FALSCH);"")


Ich habe nun ein Addin welches die Formeln von der einen Datei in eine andere kopiert. Jedesmal wenn eine dieser Formeln kopiert wird, wird diese sofort berechnet, sprich der externe Verweis wird aufgelöst. Da sich die Dateien auf einem Server im Firmennetz befinden, ist die Ausführung sehr langsam (mehrere Sekunden pro kopierter Formel). Da es sich um sehr viele Zellen handelt dauert die gesamte Ausführung schätzungsweise einen halben bis zu einem Tag.
Eine Beispieldatei habe ich nicht zu Hand. Müsste ich erst erstellen, denn es geht um mind. 3 Dateien. Eine Quell-, eine Zieldatei und eine auf die verlinkt wird.
Ich möchte eigentlich nur Excel davon abhalten sofort die externen Verweise aufzulösen sobald ich die Formel kopiere.
Danke
Uwe

Anzeige
AW: Kopieren von Formeln mit externen Links
16.06.2009 09:39:56
Formeln
In der Zwischenzeit habe ich nun einen Workaround gefunden.
Da es scheinbar keine Möglichkeit gibt Excel davon abzuhalten die externen Verweise sofort aufzulösen habe ich folgendes gemacht.
- Auslesen der verwendeten Verknüpfungen und speichern in einem Array
- Kopieren der referenzierten Dateien in einen lokalen Temp-Ordner
- Ändern der Verknüpfungen auf die lokalen Dateien
- Nun folgen anderen Schritte auch das Kopieren der der Formeln
- Am Ende werde alle Verknüpfungen wieder auf die ursprünglichen Werte gesetzt
Dieses Verfahren ist zwar deutlich aufwendiger und so etwas wollte ich vermeiden, aber es funktioniert. Sollte irgendjemand noch eine einfachere Möglichkeit kennen bitte mit mitteilen. Je weniger ich selbst programmieren muss, desto besser (Faulheit :-) )
Cu Uwe
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige