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.

Formeln ändern per suchen - ersetzen?!
#1
Guten Morgen, 

ich bearbeite eine riesige Datei, in der ich die Formel 

=(PIVOTDATENZUORDNEN 
in
=WENNFEHLER(PIVOTDATENZUORDNEN 

möglichst in einem Rutsch in zahlreichen Zellen ändern möchte. 

Mit suchen und ersetzen, wenn ich nur den jeweiligen Formelanfang eingebe (wie oben geschrieben) klappt es nicht, weil Excel wohl merkt, daß es eine Formel ist und wegen fehlender Klammern meckert.

Das in den Formeln in den Zellen am Ende dann noch fehlende ";0)" hätte ich im Zweifel noch manuell ergänzt in jeder Zelle.
Aber vielleicht gibt es auch dazu eine Lösung, wie ich das in allen Zellen am Ende jeder Formel ergänzen kann?

Zur Info, falls das von Bedeutung ist:
diese Formeln beziehen sich auf Pivottabellen in einem anderen Dokument und diese füllen sich erst im Jahresverlauf mit Werten. Heißt also, jetzt im Januar sind alle Pivottabellen, auf die mein Dokument verlinkt, leer.

Die 2. Frage ist, ob und wie ich die Formel, die ich dann im Monat 1 angepasst habe mit "WENNFEHLER" , in die Monate 2 bis 12 bekomme und sich automatisch die Periodenangabe anpasst von 1 dann auf 2, 3, etc.
In der Formel sieht das so aus:
(.... ;"Period";"1"; ....)

Jeder Tipp, auch wenn er nur ein Teilproblem mlöst, ist willkommen. Ich habe schon alles mögliche versucht und vieeeeeel gegoogelt - ohne Erfolg Sad
Antworten Top
#2
Hallo,

zu 1.: lass folgendes Makro laufen:
Code:
Sub qwe()
  Dim objWs As Worksheet
  Dim rngZ As Range
  Dim strF As String
  'Fehler werden ignoriert (hier wenn es keine Formelzellen auf einem Blatt gibt)
  On Error Resume Next
  'Schleife über alle Arbeitsblätter
  For Each objWs In ActiveWorkbook.Worksheets
    'Schleife über alle Zellen des Arbeitsblatts, welche Formeln enthalten
    For Each rngZ In objWs.Cells.SpecialCells(xlCellTypeFormulas)
      'Formel wird ab 2. Stelle (also ohne das "=") in Textvariable gespeichert
      strF = Mid(rngZ.Formula, 2)
      'wenn Formel mit "GETPIVOTDATA" (PIVOTDATENZUORDNEN) beginnt
      If Left(strF, 12) = "GETPIVOTDATA" Then
        'Formel wird mit drumherumgebautem WENNFEHLER() zurückgeschrieben
        rngZ.Formula = "=IFERROR(" & strF & ",0)"
      End If
    Next rngZ
  Next objWs
  On Error GoTo 0
End Sub

zu 2.: nicht ohne Beispieldatei.

Gruß Uwe
Antworten Top
#3
Danke
Antworten Top


Gehe zu:


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