Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1332to1336
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

Funktion ersetzt auch Klammern

Funktion ersetzt auch Klammern
04.10.2013 18:26:07
Lutz
Hallo Excel-Profis,
ich habe mir eine Funktion gebastelt die auch ganz gut funktioniert.
Ich habe aber ein Problem: es werden auch gesetzte Klammern ignoriert und dadurch rechnet das ganze nicht richtig.
Hier die Funktion:
Function FFormel(txt As String)
Dim i As Integer, j As Integer, strTmp As String
Dim arr1
arr1 = Array("+", "-", "/", "*")
txt = Application.Substitute(txt, " ", "")
txt = Application.Substitute(txt, ",", ".")
txt = Application.Substitute(txt, "x", "*")
txt = Application.Substitute(txt, "X", "*")
txt = Application.Substitute(txt, "×", "*")
txt = Application.Substitute(txt, Chr(248), Chr(216))
j = InStr(txt, Chr(216))
If j > 0 Then
strTmp = Left(txt, j - 1)
j = j + 1
Do While IsNumeric(Mid(txt, j, 1))
j = j + 1
Loop
txt = strTmp & Mid(txt, j)
End If
strTmp = ""
For i = 1 To Len(txt)
If IsNumeric(Mid(txt, i, 1)) Then
strTmp = strTmp & Mid(txt, i, 1)
Else
Select Case Mid(txt, i, 1)
Case "*", "+", "-", "/", ".": strTmp = strTmp & Mid(txt, i, 1)
End Select
End If
Next i
txt = strTmp
Do
For i = 0 To UBound(arr1)
For j = 0 To UBound(arr1)
txt = Application.Substitute(txt, arr1(i) & arr1(j), arr1(i))
Next j
Next i
If strTmp = txt Then
Exit Do
Else
strTmp = txt
End If
Loop
FFormel = Evaluate(txt)
End Function
Was müßte man ändern damit gesetzte Klammern auch berücksichtigt werden?
Vielen Dank und viele Grüße
Lutz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion ersetzt auch Klammern
05.10.2013 01:50:04
fcs
Hallo Lutz,
als ersten Versuch:
        Case "*", "+", "-", "/", ".", "(", ")": strTmp = strTmp & Mid(txt, i, 1)
Falls auch [ und ] oder { und } als Klammern im Text vorkommen, dann müssten sie am Anfag des Makros durch ( bzw. ) ersetzt werden.
Gruß
Franz

Das kann man so nicht sagen, ...
05.10.2013 02:05:35
Luc:-?
…Franz,
denn das kommt ganz auf den Ursprung des Textes und seine Bedeutung an. Ist es eine MatheFml, kann es, aber muss nicht richtig sein (den Mathematikern reichen auch die Klammern nicht, s. UniCode! ;-]), sonst evtl schon eher.
Gruß Luc :-?

Anzeige
AW: Funktion ersetzt auch Klammern
05.10.2013 10:31:14
Lutz
Hallo Franz,
vielen lieben Dank - klappt genau so wie ich es wollte.
Ich wünsche Dir noch ein schönes Wochenende und vielen Dank für Deine Hilfe.
Viele Grüße Lutz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige