Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Variable Bezüge in Formeln





Frage

Hallo mal wieder!! Ich hab ein etwas verzwickteres Problem: Ich muß mir ein Master-File erstellen, in welchem ich mir die Daten aus anderen Files (eigentlich immer nur eins pro Durchlauf) holen muss! Dies ist in erster Linie kein Problem, aber jetzt kommt es: Die Formeln, welche ich nutze um mir die Daten aus den anderen Files zu holen müssen "Variabel" sein. Damit meine ich, dass ich nicht immer die Formeln per Hand ändern muss, sondern nur in eine Zeile den Dateinamen eingebe und Excel mir die Formeln mit dieser Datei anpasst!! Ich weiß etwas kompliziert, aber vielleicht hilft das hier noch etwas! So, sagen wir mal in A1 steht der Dateiname und die Formel in B1 soll sich die Daten aus dem File in A1 holen: A1 | B1 xxx.xls | ='[XXX.xls]Tabelle1'!B1 WEnn ich nun aber die Daten nicht aus XXX.xls haben will, sondern aus XYZ.xls, dann will ich das nur in A1 schreiben und die Formeln sollen automatisch angepasst werden! Hoffe ihr wisst Rat! Michael

Antwort 1 von want2cu_extern

Hallo Michael,

ich bastele schon, habe aber noch keine Lösung.

Momentan geht es mit
="["&A1&"]Tabelle1!$A$1"

einen Textstring zu erzeigen, der aus Zelle A1 den Dateinamen holt. Ich habe es aber noch nicht geschafft, dass EXCEl das jetzt auch als Formel akzeptiert.

Ich schicke dir mal ein paar Dateien, in denen vielelicht noch Lösungsansansätze stecken. Insbesondere die Datei 10_namen_teil_links_rechts.xls

Ich bleibe aber am Ball. ansonsten würde mir als Praktikelösung einfalle, das ganze einfach per ERSETZEN zu lösen.
Damit kannst du sogar in Formeln die Dateinamen ersetzen. Wie wäre es mit so einer Lösung?

CU
want2cu

Antwort 2 von Milka84

Das habe ich ausch schon überlegt, aber ich wollte das so gut wie möglich automatisieren, weil die Files nicht für mich sind, sondern für andere Mitarbeiter und die eigentlich nur noch auf den Knopf drücken wollen/sollen, damit da auch wirklich die richtigen Ergebnisse rauskommen!

Werde mir dann mal deine Sachen anschauen und vielleicht komme ich damit ja schon wieter!
Ansonsten kannst du dir ja mal weiter den Kopf zerbrechen ;)



Antwort 3 von want2cu_extern

Hallo Michael,


ERSETZEN oder WECHSELN kämen vielleicht auch noch in Betracht. Der reine Text läßt sich so generieren, aber es hapert bei mir noch an der Erkennung als Formel.

Bis gleich ;-)

wantcu

P.S:Die Dateien sind schon an dich rausgegangen

Antwort 4 von want2cu_extern

Hallo Michael,

wie wäre es, wenn du die Sache mit ERSETZEN mit einem kleinen Makro automatisierst? Wenn du im Rahmen des Makros den entsprechenden Bereich mit den Formelm komplett markierst, geht das Ersetzen auf einen Schlag.

Und der KLick auf eine makrogesteuerte Schaltfläche ist schon zumutbar.
GGF. kannst du die Sache mit dem Makro noch dahingehend automatisieren, dass dieses Makro automatisch nach erfolgter EIngabe in die Zelle, wo der Tabellenname stehen soll, gestartet wird.

CU
want2cu

Antwort 5 von Milka84

also wenn du das Ersetzen aus dem Bearbeiten Menü meinst, dann kann ich dir sagen, dass ich das schon probiert habe.
Ich hab den Makrorekorder angeschmissen und dann den Dateinamen ersetzt, aber sobald ich dann nen anderen Dateinamen haben wollte klappte es nicht mehr, weil im VBA-Editor dann der Dateiname, den ich als letztes ersetzt habe fest drin stand. Und ich weiß nicht genau, wie ich bei einem Makro "sage", dass er immer ersetzen durch den "Wert" (Dateinamen) in A1 machen soll!

Antwort 6 von want2cu_extern

Hallo Michael,

ich habe es gerade selbst nochmal probiert. Mit ERSETZEN aus dem Menu BEARBEITEN klappt es bei mir ohne Probleme, wenn ich vorher den Bereich markiere, der die zu ändernden Formeln mit den zu ändernden Tabellennamen enthält.

Wenn du das per Makro machst, solltest du natürlich keinen "festen Dateinamen" angeben, sondern dabei einen Bezug auf eine EIngabezelle in deiner Tabelle setzen, dort wo der jeweils gewünschte Tabellenname vom User eingetragen werden soll.

Bei mir klappt es jedennfalls so. Gib doch bitte ein Feedback, wo es bei dir nach nicht klappt.

CU
want2cu

Antwort 7 von Milka84

hmmm, kannst du mir das Makro vielleicht mal zuschicken und ich probiere das dann hier mal aus?!
Wäre echt nett!

Danke
Michael

Antwort 8 von Aliba

Hi Milka,

sind die Dateien aus denen die Daten geholt werden sollen geöffnet?

CU Aliba

Antwort 9 von want2cu_extern

Hallo Michael,

ich muss mich korrigieren:
Bei mir klappt das Ersetzen nur "händisch", mittels MAKRO bleiben dann die Dateinamen bestehen, ein Verweis auf eine Zelle hat nicht geklappt.

Da ich von VBA zuwenig Ahnung habe, scheitere ich an dieser Stelle :-(((

Ich denke aber, dass es mit VBA möglich sein muss, das zu lösen.

CU
want2cu

Antwort 10 von Guenter

Hallo,

hier ein Makro, was über eine Inputbox einen Filenamen abfragt und den Wert aus Zelle B1 in die vorhandene Excel Datei in A1 schreibt.
Gegebenenfalls müssen die Stellen von Ein- und Ausgabe noch angepasst werden.

Die Eingabe des Makros: Alt F11; Einfügen Modul und dann Makro hineinkopieren.


Sub Test()
  Dim FileN$
  Dim ValB1
  FileN = InputBox("Geben Sie den richtigen Filenamen ein:")
  Workbooks.Open FileN
  Workbooks(FileN).Activate
  Sheets("Tabelle1").Select
  ValB1 = Range("B1").Value
  Workbooks(FileN).Close
  Range("A1").FormulaR1C1 = ValB1
End Sub


Bei Eingabe von Filename ggf. mit Verzeichnis.

Gruß
Günter

Antwort 11 von feli

Hallo Micha, wenn ich deine Frage richtig verstanden habe, und du im wesentlichen mit excel arbeitest, dann wäre eine Lösung, die files oder ggf. nur das Feld mit der Ersetzen-Funktion anzupassen.
Feli

Antwort 12 von want2cu

@feli,

wenn du nicht nur die letzte Antwort gelesen hast, wirst du gemerkt haben, dass die Sache mit ERSETZEN schon bekannt war und nur händisch klappt, d.h. nicht mit einem Makro ;-)

CU
want2cu


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: