Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Indirekt ausrechnen - Bezüge auflösen

Indirekt ausrechnen - Bezüge auflösen
22.02.2017 18:19:03
Thomas
Hallo zusammen,
zum Zusammenbau einer Reihe von Tabellen habe ich die Indirekt Funktion benutzt, um Bezüge dynamisch aufbauen zu können.
Jetzt sind die Dateien fertig und die Indirekt Funktion wird nicht mehr benötigt.
Ich möchte Zellen mit z.B. der Formel
INDIREKT(LINKS($B3;FINDEN(" ";$B3)-1)&"!C33")
mit
B3 = "TP0 - Projektleitung"
durch
TP0!C33
ersetzen. Letzteres entsteht durch das Ausrechnen der äußeren Klammer und liefert den gleichen Wert wie die Indirekt-Funktion.
Ich möchte vermeiden die Arbeit manuell zu erledigen, indem ich mit F2 reingehe, den Bezug innerhalb der äußeren Klammer markiere, mit F9 ausrechne und vor Enter die Funktion inkl. der Klammern lösche. Ist sooo langweilig. Gibt's nicht ein schickes Makro oder eine "Umkehrfunktion", die ich verwenden kann?
Kopieren und als Wert einfügen hilft nicht, da dann im o.a. Beispiel der Wert von TP0!C33, z.B. 51, in die Zelle kopiert wird und der Bezug verloren geht.
Habe lange gesucht - Viele wollen Indirekt nutzen, keiner scheint das Problem zu haben es wieder loswerden zu wollen.
Freue mich auf Eure Antworten
Viele Grüße
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Mit zwei Anweisungen
22.02.2017 19:30:14
lupo1

Sub INDIRECTaufloesen()
ActiveCell.Value = Replace(Replace(ActiveCell.Formula & " ", ") ", ""), "INDIRECT(", "")
ActiveCell.Formula = "=" & ActiveCell
End Sub
Schleifen und Ersatz von ActiveCell kannst Du dann selbst.
AW: Indirekt ausrechnen - Bezüge auflösen
23.02.2017 11:28:35
Thomas
Vielen Dank, funzt super.
So habe ich es eingebaut um selektierte Bereiche umzuwandeln:
Sub INDIRECTaufloesen()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Selection
For Each Zelle In Bereich
Zelle.Value = Replace(Replace(Zelle.Formula & " ", ") ", ""), "INDIRECT(", "")
Zelle.Formula = "=" & Zelle
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige