Excel2007: Pfad auf externe XLS zusammenbasteln aus dem Inhalt mehrerer Zellen

17/02/2008 - 11:30 von Tom de Millionas | Report spam
Hallo zusammen

Ich stelle in einer Zelle Daten dar, die aus einem anderen Excel-sheet
kommen.
Z.B.:
A2='C:\Instrumentarium\Ideas\10001\[10001.xlsx]Evalutation'!$E$3
Soweit so gut.

Nun soll jedoch die Nummer "10001" dynamisch aus einer anderen Zelle
eingelesen werden, z.B. aus A1.
Außerdem soll der Pfad relativ sein, so dass ich den kompletten Baum
"Instrumentarium" verschieben kann.

wie kann ich das machen?
ich habe bislang versucht:

=CONCATENATE(".\Ideas\";A$1;"[";A$1;".xlsx]Evalutation!$E$3")
Ergebnis: es wird in der Zelle der Pfad korrekt dargestellt. Jedoch nicht
der gewünschte Inhalt aus $E$3, sondern eben der Pfad an sich, als
Text-String ohne Funktion. In derZelle steht als Text:
.\Ideas\10002[10002.xlsx]Evalutation!$E$3



In einer anderen Zelle habe ich ein sehr àhnliches Problem, hier soll wieder
ein Pfad zusammengebastelt werden, diesmal jedoch in Form einer IF-Abfrage:


=IF("["&X$3&".xlsx]Evaluation!"&$U$9<$G$79;"";IF("["&X$3&".xlsx]Evaluation!"&$U$9<$V16;$G$80;PRODUCT("["&X$3&".xlsx]Evaluation!"&$U$9;$U16)))

Das will aber auch nicht funktionieren. Es scheitert bereits daran, dass
Excel $U$9 nicht in der anderen Tabelle sucht, sondern in der aktuellen
Tabelle.

Kann mir jemand sagen, wie ich das ganze am besten löse???
Geht es vielleicht vom Grundsatz her anders viel geschickter?
Wichtig: Ich muss den Inhalt dieser Zelle anschließend vervielfàltigen
können, mehrere hundert mal. Insofern sollten die Zellen in den Formeln in
irgendeiner Form auch durch Excel manipulierbar bleiben.

Danke für jeden Rat!

Help keep the usenet free!
Use and/or support (e.g. by setting up an own server) the nonprofit
open-news-network project:
http://www.open-news-network.org/
 

Lesen sie die antworten

#1 Thomas Ramel
17/02/2008 - 16:02 | Warnen spam
Grüezi Tom

Tom de Millionas schrieb am 17.02.2008

Ich stelle in einer Zelle Daten dar, die aus einem anderen Excel-sheet
kommen.
Z.B.:
A2='C:\Instrumentarium\Ideas\10001\[10001.xlsx]Evalutation'!$E$3

Nun soll jedoch die Nummer "10001" dynamisch aus einer anderen Zelle
eingelesen werden, z.B. aus A1.
Außerdem soll der Pfad relativ sein, so dass ich den kompletten Baum
"Instrumentarium" verschieben kann.

wie kann ich das machen?
ich habe bislang versucht:

=CONCATENATE(".\Ideas\";A$1;"[";A$1;".xlsx]Evalutation!$E$3")
Ergebnis: es wird in der Zelle der Pfad korrekt dargestellt. Jedoch nicht
der gewünschte Inhalt aus $E$3, sondern eben der Pfad an sich, als
Text-String ohne Funktion. In derZelle steht als Text:
.\Ideas\10002[10002.xlsx]Evalutation!$E$3

Kann mir jemand sagen, wie ich das ganze am besten löse???
Geht es vielleicht vom Grundsatz her anders viel geschickter?



alst String zusammengesatzte Pface und Bezüge kannst Du mit der Funktion
INDIREKT() in echte Bezüge umwandeln - allerdings muss dann die verknüpfte
Datei geöffnet sein, damit das klappt.

Wichtig: Ich muss den Inhalt dieser Zelle anschließend vervielfàltigen
können, mehrere hundert mal. Insofern sollten die Zellen in den Formeln in
irgendeiner Form auch durch Excel manipulierbar bleiben.



Dann bleibt dir wohl nur eine VBA-Lösung übrig in der Du den aktuellen Pfad
zwischenspeicherst und bei der Eingabe eines neuen mit Seach/Replace die
betreffenden Teile der Formeln austauschst und diesen neuen aktuellen Pfad
wieder zwischenspeicherst.

Ein einfaches Beispiel dazu findest du in der folgenden Demo-Mappe:

http://users.quick-line.ch/ramel/De...er_VBA.xls

Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen