Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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

Formeln ohne Verknüpfung auf alte Datei kopi. VBA

Formeln ohne Verknüpfung auf alte Datei kopi. VBA
19.08.2019 10:31:34
Johannes
Hallo zusammen,
ich bin langsam mit meinem Latein am Ende. Ich versuche eine Vielzahl von Formeln aus einer Datei in eine neue Datei zu kopieren, ohne dass dabei die Verknüpfung (in eckigen Klammern) mit übertragen werden. In der neuen Datei befinden sich immer auch die Tabellen blätter auf die sich der SVerweis bezieht. Sprich die eckigen Klammern müsste man nicht mit übertragen. Ich habe aber bisher noch keine Möglichkeit gefunden diese Formeln sinnvoll zu übertragen.
Ich kann aber nicht die Tabellenblätter aus der Kopierenden Datei aber nicht mit übertragen, da es sich um verschieden Versionen handelt.
Gibt es evtl. ne Möglichkeit nachdem man die Formel kopiert hat die eckigen Klammern durch ne Stringmanipulation zu entfernen bzw. Kann man überhaupt eine Formel in ein String einlesen?
Beste Grüße
Johannes

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln ohne Verknüpfung
19.08.2019 11:25:48
volti
Hallo Johannes,
hier eine Anregung zum Entfernen der Klammerausdrücke aus Formeln:
Sub MachKlammernWeg()
 Dim Zelle As Range, P1 As Integer, P2 As Integer
 For Each Zelle In ActiveSheet.UsedRange
   With Zelle
    If .FormulaLocal Like "=*" Then
      P1 = InStr(.FormulaLocal, "[")
      If P1 > 1 Then
        P2 = InStr(P1 + 1, Zelle.FormulaLocal, "]")
        .FormulaLocal = Left(.FormulaLocal, P1 - 1) & Mid(.FormulaLocal, P2 + 1)
      End If
    End If
   End With
 Next Zelle
 MsgBox "Bin fertig"
End Sub

oder als Shortversion:
Sub MachKlammernWeg()
 Dim Zelle As Range, P As Integer
 For Each Zelle In ActiveSheet.UsedRange
   With Zelle
    If .FormulaLocal Like "=*" Then
      P = InStr(.FormulaLocal, "]")
      If P > 1 Then .FormulaLocal = "=" & Mid(.FormulaLocal, P + 1)
    End If
   End With
 Next Zelle
End Sub

Probier mal und pass bei Bedarf an.
viele Grüße
Karl-Heinz
Anzeige
AW: Formeln ohne Verknüpfung
19.08.2019 12:30:34
Johannes
@alle
eure Lösungen funktionieren super.
Hab an das alles nicht gedacht. Besten Dank!! :)
Gerne u. Danke für die Rückmeldung. o.w.T.
19.08.2019 12:33:08
Werner
AW: Formeln ohne Verknüpfung auf alte Datei kopi. VBA
19.08.2019 11:28:34
Werner
Hallo Johannes,
Public Sub aaa()
Worksheets("Tabelle1").Range("A1:A100").Replace "[*]", ""
End Sub
Gruß Werner
AW: Formeln ohne Verknüpfung auf alte Datei kopi. VBA
19.08.2019 11:32:57
Daniel
Hi
das einfachste dürfte sein, wenn du nach dem kopieren den Dateinamen in der Formel mit der Funktion REPLACE (Menüfunktion ERSETZEN) entfernst
also in dem jeweiligen Tabellenblatt dann noch
Cells.Replace "[Dateiname.xlsx]", "", xlpart 
ausführen.
Gruß Daniel

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige