Clever-Excel-Forum

Normale Version: Formel aus einzelnen Zellen zusammensetzen und per VBA in eine leere Zelle schnreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich stehe vor einem Problem mit einer in VBA zusammengesetzten Formel, die ich in eine leere Zelle schreiben möchte.
Ich habe mich jetzt im Internet lange genug versucht schlau zu machen, komme aber nicht weiter. Daher wende ich mich an Euch:

Ausganssituation:
Pfad steht in Zelle A3, Dateiname steht in Zelle B3. Jede dieser Tabellen sind identisch aufgebaut.
Ich möchte aus jeder dieser 2.626 Tabellen eine bestimmte Information (Zahl) herauslesen, die immer im Tabellenblatt "ETK!$I$5" steht und neben der Quelle in Spalte G eingetragen wird.

Die Ausgangssituation ist also folgende, siehe nachfolgendes Bild. In Spalte E habe ich schon mal per Formel den absoluten Bezug abgebildet. Hier steht bezogen auf die jeweilige Zeile die Formel:
=WENN(_2017[@[Folder Path]]="";"";"='"&_2017[@[Folder Path]]&"["&_2017[@Name]&"]ETK'!$I$5")

Leider lässt sich diese Formel nicht in eine Formel umwandeln, sondern bleibt als Text stehen. Alle im Internet vorgeschlagenen Versuche, diesen Text als Formel aufzulösen sind fehl geschlagen.



[
Bild bitte so als Datei hochladen: Klick mich!
]

Jetzt versuche ich, per VBA den Formelausdruck zusammen zu setzen, bekomme jedoch als Ergebnis einen unsinnigen Ausdruck.

unten stehendes Makro schreibt mir eine Formel, die im Ergebnis in die Zellen untereinander schreibt:
='[A3[B3]ETK]A3[B3]ETK'!$I$5

ich hätte aber gerne:
='X:\Ankdg\Plan\2017\[148530.xlsm]ETK'!$I$5



Public Sub FormelnSchreiben1()
Dim I As Integer
Zeile = Range("E1")

    For I = 3 To Zeile
        Pfad = "A" & I
        Name = "B" & I
        ActiveSheet.Cells(I, "G").FormulaLocal = "='" & Pfad & "[" & Name & "]ETK'!$I$5"
    Next I
End Sub


Kann mir hier jemand weiterhelfen? Was mache ich hier falsch?

Vielen Dank und viele Grüße an alle da draußen!
Hi,

Formel wird als Text angezeigt hatten wir vor wenigen Tagen auch hier im Forum
guggschdu
http://www.clever-excel-forum.de/Thread-...#pid121149
Hallo,

Zitat:Leider lässt sich diese Formel nicht in eine Formel umwandeln, sondern bleibt als Text stehen.

schau mal ob die Spalte als Text formatiert ist .

Wenn ja --> Formel anzeigen , kopieren , aus Zelle löschen --> Spalte  als  Standard formatieren -> Formel reinkopieren

Wenn nein --> schau mal unter Formeln -> Berechnungsoptionen - ob das auf  manuell steht
Moin!
Und wenn das alles nichts hilft:
Deine .xlsx wäre sinnvoller als ein nichtssagender Screenshot.

Gruß Ralf
Ach so:
Dass Pfad = "A" & I "A3" ergibt, sollte ja logisch sein!
Du meinst aber sicher
Pfad = Range("A" & I)
oder auch
Pfad = Cells(I, 1)
Moin Rumo

Alle Beantworter haben natürlich auch recht, ne Datei is viel besser wie ein Bild, siehe auch Link in meiner Signatur

deine Formel wird richtig zusammengebaut, wenn Pfad und Name richtig wären:
Probiers mal so:
Code:
Public Sub FormelnSchreiben2()
Dim I As Integer
Zeile = Range("E1")

   For I = 3 To Zeile
       Pfad = ActiveSheet.Range("A" & I)
       Name = ActiveSheet.Range("B" & I)
       ActiveSheet.Cells(I, "G").FormulaLocal = "='" & Pfad & "[" & Name & "]ETK'!$I$5"
   Next I
End Sub
Wenn du deinen Code mal schrittweise durchlaufen [F8] lässt, bei geöffnetem Lokalfenster, wird er dir weder bei Pfad noch bei Name die von dir gewünschten Werte anzeigen
Oder:


Code:
Sub M_snb()
   [E3:E9].numberformat="General"  
   [E3:E9] = ["='"&A3:A9&"["&B3:B9&"]ETK'!$E$5"]
End Sub