Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Text in Verknüpfung umwandeln
#1
Hallo!

Vielleicht kann mir jemand weiterhelfen. Ich möchte gerne in Excel per VBA Makro einen Text in eine Formel umwandeln und zwar sieht die Ausgangssituation so aus:

Ich habe in einer Excel Tabelle externe Verknüpfungen zu einer Quelldatei, bei denen der Pfad prinzipiell so aufgebaut ist =C:\Jahr\Periode\Gruppe\Quelldatei.xlsx
Da "Jahr" und "Periode" und teilweise auch "Gruppe" und "Quelldatei" variabel sind, müssen die Verknüpfungen jedes Monat neu angepasst werden. Mit Suchen/Ersetzen komme ich aber nicht weit, da Excel nur einen Parameter auf einmal ersetzen kann und nicht "Jahr", "Periode", "Gruppe" und "Quelldatei" gleichzeitig.

Ich habe nun versucht die externe Verknüpfung als zusammengesetzten Text (mit &-Funktion) in eine eigene Zelle schreiben zu lassen (also zb ='C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos1) und diesen dann als Wert in die jeweilige Zelle der Datentabelle zu kopieren. Leider bleibt dann aber der Text stehen und die Formel wird nicht berechnet.

Gibt es eine Möglichkeit, wie man per Makro den Text in die Formel umwandeln kann? Also es soll dann wirklich die Verknüpfung zb so in der Zelle stehen:
='C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos1+'C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos2

Das hab ich schon probiert:
  • Ersetzen "=" durch "=" würde den Text in die Formel umwandeln, allerdings scheitert das bei Formeln wie =Summe('C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos1+'C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos2) weil VBA nix mit deutschen Funktionsbezeichnungen anfangen kann.
  • eine Funktion, die den Wert der Formel gleich vom Text berechnet - ist leider nicht geeignet, da dann nicht ='C:\Jahr1\Periode1\Gruppe1\Quelldatei1.xlsx'!Pos1 in der jeweiligen Zelle steht sondern eine andere Funktion.
Hat jemand eine Idee?

Vielen Dank für euren Input!
Alex


Angehängte Dateien
.xlsx   TEST Werte in Formeln umwandeln.xlsx (Größe: 16,1 KB / Downloads: 5)
Antworten Top
#2
ändere nicht in der Datei.

Mach eine fixe Queldatei, z.B  C:\Quelldatei.xlsx

Wenn's eine neue Periode gibt:

Code:
Sub M_snb()
  copyfile "C:\Jahr\Periode\Gruppe\Quelldatei.xlsx", "C:\Quelldatei.xlsx"
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hallo,

Zitat:weil VBA nix mit deutschen Funktionsbezeichnungen anfangen kann.


Unsinn. Dafür gibt es die FormulaLocal-Eigenschaft.
z.B. ActiveCell.FormulaLocal = ActiveCell.Text

Gruß
Rudi
Antworten Top
#4
Zitat:Mach eine fixe Queldatei, z.B  C:\Quelldatei.xlsx

Das wäre fein, geht allerdings leider nicht... jede Quelldatei liegt in einem eigenen Ordner.

Zitat:Unsinn. Dafür gibt es die FormulaLocal-Eigenschaft.
Ist kein Unsinn, wenn es um Suchen/Ersetzen geht... VBA erkennt =Summe() dann nicht als Formel.
Antworten Top
#5
Hallo,

mal ganz einfach:
Zitat:Sub formeln()
  Dim i As Long
    For i = 8 To 10
      Cells(i, 2).FormulaLocal = Cells(i + 7, 2).Text
      Cells(i, 3).FormulaLocal = Cells(i + 7, 3).Text
    Next i
End Sub
Gruß
Rudi
Antworten Top
#6
Hallo,

erstell dir Namen 

Verk1 = "C:\Quelldatei.xlsx..."    und  im  VBA -->  Range("Verk1").Value
Antworten Top
#7
Code:
Das wäre fein, geht allerdings leider nicht... jede Quelldatei liegt in einem eigenen Ordner.

Bitte lese mal die Vorschläge etwas genauer !!!
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
(08.05.2018, 14:03)snb schrieb:
Code:
Das wäre fein, geht allerdings leider nicht... jede Quelldatei liegt in einem eigenen Ordner.

Bitte lese mal die Vorschläge etwas genauer !!!

sorry.. meinte, die quelldateien müssen in einem eigenen ordner liegen bleiben zwecks nachvollziehbarkeit und aufrechterhaltung der ordnerstrucktur.
Antworten Top
#9
Das ändert sich in der Vorschlag gar nicht. Bitte lesen und testen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste