externe verknüpfungen, werte in formeln kopieren... verzweiflungsfall

13/12/2007 - 13:16 von MarcoG | Report spam
hallo allerseits

habe dringend hilfe nötig, befürchte aber, dass ich hier vor einer etwas
auswegslosen situation stehe...

also:

ich habe hier ein workbook X, das über ein makro ein workbook Y öffnet, um
von dort werte in ein sheet A in workbook X zu kopieren. so weit so gut. die
kopierten werte werden benötigt zur vervollstàndigung einer ganzen reihe von
formeln, die wiederum auf etliche andere workbooks verweisen.

als resultat erhalte ich in den entsprechenden zellen dann z.b. folgenden
wert: "='\\1c\Pfad1\Pfad2\[WorkbookABCXYZ.xls]Sheet1'!A1"

das steht dann so in der zelle, mit "=" usw., ist aber natürlich keine
formel, sondern das resultat einer làngeren auswertung.

über code kopiere ich nun jede zelle mit einem solchen resultat in eine neue
zelle, um dort eine "echte" formel zu erhalten. dazu gibt es verschiedene
vorgehensweisen, jede führt aber zu ein- und demselben problem...

meine erste methode war folgende:

For each zelle in myrange
zelle.Offset(0, 30).Formula = zelle.Value
next zelle

ziemlich einfach eigentlich und funktioniert ja theoretisch auch. es handelt
sich aber leider um hunderte von zellen. auf dem server geht das ja so noch
(dauert etwa 8 sekunden). aber auf allen workstations dauert das ganze
mehrere minuten! (natürlich sind enableevents auf false, ebenso
screenupdating)

zweiter versuch:

For each zelle in myrange
zelle.Copy
zelle.Offset(0, 30).PasteSpecial Paste:=xlPasteValues
next zelle

aha! das ging jetzt aber schnell... nur leider sind die "formeln" immer noch
werte - die zellen zeigen also die formel selbst anstatt deren ergebnis an.
wàre ganz einfach zu lösen mit "in die zelle klicken und 'enter' drücken".
bei hunderten von zellen aber etwas umstàndlich. also hier die abhilfe:

myrange.Replace What:="=", Replacement:="=", LookAt:=xlPart

und natürlich: dazu braucht excel wieder eine ewigkeit, genauso lange
nàmlich wie bei der ersten methode...


die frage ist also: wie kopiere ich die ergebnisse von hunderten von zellen
"in die formel" anderer zellen? oder vielleicht ist das nicht die frage und
es gibt eine ganz andere lösung für meine situation, auf die ich einfach
nicht komme...

irgendwelche ideen? :(


grüsse
marco
 

Lesen sie die antworten

#1 Alexander Wolff
13/12/2007 - 13:31 | Warnen spam
Verknüpfe gleich ganze Bereiche statt einzelner Zellen. Notfalls verknüpfe
diese Daten in ein verstecktes Blatt hinein und beziehe Dich dann einzeln
darauf.
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen