Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Replace Formeln erstellen

Forumthread: VBA Replace Formeln erstellen

VBA Replace Formeln erstellen
29.08.2024 09:43:10
KGH
Hallo zusammen,

ich bin hier neu und starte hoffentlich mit einer banalen Frage. Habe mit folgendem Code versucht strg-h nachzubilden. Allerdings kommt statt des "=" ein "=@" und entsprechend funktionieren die gewünschten Formeln nicht.

Dim wks As Worksheet

For Each wks In ActiveWorkbook.Worksheets
wks.Cells.Replace What:="#", Replacement:="=", LookAt:=xlPart
Next
End Sub


Besten Dank und Gruß
Kai
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Replace Formeln erstellen
29.08.2024 09:54:48
daniel
Hi
Das @ zeigt an, dass Excel ein Problem mit der Formel hat und diese nicht richtig verarbeiten kann.

Um was für Formeln geht es denn?

Kannst du mal die Datei hochladen?

Gruß Daniel
AW: VBA Replace Formeln erstellen
29.08.2024 14:32:29
KGH
Hallo Daniel,

eine Datei kann ich nicht hochladen. Habe aber auf Deinen Hinweis hin nochmal etwas systematischer probiert und glaube ein Muster erkannt zu haben.

#A1+A2+A3 funktioniert wie gewünscht mit richtigem Formelergebnis
#summe(A1:A3) ergibt anschließend =@summe(A1:A3) mit Zellergebnis #Name?
#summe(A1;A2;A3) wird gar nicht umgewandelt.

#B1&B2 verkettet die Zellinhalte und ergibt richtiges Formelergebnis
#verketten(B1;B2) wird gar nicht umgewandelt

Muster: Sobald eine öffnende Klammer in der Formel steht gibt es Problem, wenn dann ein Doppelpunkt folgt gibt es das =@-Ergebnis, wenn ein Semikolon folgt wird gar nicht das zu ersetzende Zeichen ersetzt.

Seltsam, aber alles in allem dann wohl nicht der richtige Lösungsansatz.

Gruß
Kai
Anzeige
AW: VBA Replace Formeln erstellen
29.08.2024 14:54:46
daniel
Hi
VBA und Excel sprechen meistens englisch miteinander.
dh wenn du das Replace mit VBA durchführst, dann müssen die Texte, die in Formeln gewandelt werden sollen, auf Englisch geschrieben sein, dh englische Funktionsnamen, Komma als Parametertrennzeichen und Punkt als Dezimalzeichen bei Zahlen.

"#A1+A2+A3" funktioniert, weil deutsche und englische Schreibweise hier gleich sind.

mit deutschen Formeln müsstest du so umwandeln:

Dim wks As Worksheet

dim Zelle as range
For Each wks In ActiveWorkbook.Worksheets
For each Zelle in wks.Usedrange.SpecialCells(xlcelltypecontants, 2)
if Left(Zelle.Value, 1) = "#" then Zelle.FormulaLocal = "=" & Mid(Zelle.Value, 2)
Next
Next
End Sub


Gruß Daniel


Anzeige
AW: VBA Replace Formeln erstellen
29.08.2024 15:52:51
KGH
hi,

das ist für so einen Grünschnabel (Excel)/Greenhorn (VBA) wie mich ne wertvolle Info.

Vielen Dank.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige