Hallo zusammen,
ich möchte via VBA eine lokale Formeln aus einem Tabellenblatt Tabelle1 in ein anderes kopieren und dabei den Bezug zu Tabelle1 sicherstellen.
Aus einer Formel in Tabelle1 =A1+B1 sollte dann =Tabelle1!A1+Tabelle1!B1 werden.
Hat jemand eine kluge Idee wie das zuverlässig gehandelt werden kann…
HW
ich möchte via VBA eine lokale Formeln aus einem Tabellenblatt
Tabelle1 in ein anderes kopieren und dabei den Bezug zu
Tabelle1 sicherstellen.
Aus einer Formel in Tabelle1 =A1+B1 sollte dann
=Tabelle1!A1+Tabelle1!B1 werden.
Hat jemand eine kluge Idee wie das zuverlässig gehandelt
werden kann…
Hallo Hans,
ich glaube dies suchst du nicht:
Sub nn()
Worksheets(„Tabelle2“).Range(„C1“).FormulaLocal = „=Tabelle1!A1+Tabelle1!B1“
End Sub
Gruß
Reinhard
Nicht unbedingt…
Die Formeln sind bereits im Blatt Tabelle1 eingetragen und sie sollen in einem anderen Tabellenblatt eingesetzt werden. Alle Zellenbezüge müssen nun um die Referenz auf die Tabelle erweitert werden in der sie stehen.
Wenn da also in Tabelle1 eine Formel steht wie
=A1+B1
brauche ich nun die Formel in der Form
=Tabelle!A1+Tabelle!B1
Wie kann man in beliebige Formeln die Tabellenrefernz an jeden Zellenbezug dran montieren?
hallo Hans,
Nicht unbedingt…
daß das kommt habe ich geahnt 
Wie kann man in beliebige Formeln die Tabellenrefernz an jeden
Zellenbezug dran montieren?
Genau diese Nachfrage sah ich kommen *gg*
Ich habe da eben was gebastelt, klappt mit =A1+B1 in C1.
K.A. was passiert wenns schwierigere Formeln sind, womöglich mit Indirekt() u.ä.
Einzubauen ist auch noch die Behandlung von evtl. $-Zeichen bei den Zelladressen, aber das ist noch das kleinste Problem.
Sub tt()
Dim rng As Range, wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
wks2.Range("C1").Formula = wks1.Range("C1").Formula
For Each rng In wks1.Range("C1").Precedents
wks2.Range("C1").Formula = Replace(wks2.Range("C1").Formula, rng.Address(0, 0), wks1.Name & "!" & rng.Address(0, 0))
Next
End Sub
Gruß
Reinhard
Danke, auf die Eigenschaft Precedents bin ich nicht gekommen, das hilft auf jeden Fall weiter…
HW