Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
bestimmte Teile einer Formel auslesen
22.08.2007 08:11:54
Dominic
Hallo,
ich benötige Eure Hilfe!
Wie kann ich zum Beispiel aus der Zelle A1 mit dem Zellinhalt =2,5*1,1*2,83 die verschiedenen Werte auslesen? Die Werte variieren 2,22*2,2 usw. Eindeutig ist das "*" Zeichen. Ich möchte die einzelne Werte in ein Userform einlesen.
Ich freue mich schon auf Eure Hilfe.
Danke.
Gruß
Dome

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

Betreff
Datum
Anwender
Anzeige
AW: bestimmte Teile einer Formel auslesen
22.08.2007 08:59:22
Wuxinese
Hallo Dome,
ich habe mal folgenden Code gebastelt, der die Formel aus A1 'auseinandernimmt':
Dim lastfound As Integer
Dim formel As String
formel = ActiveSheet.Cells(1, 1).Formula
Do
lastfound = InStrRev(formel, "*")
If lastfound 0 Then
MsgBox Right(formel, Len(formel) - lastfound)
formel = Left(formel, lastfound - 1)
Else
MsgBox Right(formel, Len(formel) - 1)
Exit Do
End If
Loop
Ich denke, der kommt Deinem Anliegen ziemlich nahe. Lass mich wissen, obs 'passt'!
Gruss
Rainer

AW: bestimmte Teile einer Formel auslesen
22.08.2007 09:03:35
alexvb
Hallo Dome,
in VBA hat das Objekt "Range" (also ein Zellbezug) auch die Eigenschaft "Formula". Aus dieser solltest Du mit den Funktionen "InStr" und "Len" die einzelnen Werte auslesen können.
Gruß,
/Alex vB

Anzeige
AW: bestimmte Teile einer Formel auslesen
22.08.2007 09:12:00
Renee
Hi Dominic,
Noch ein Vorschlag:

Sub XausFormel()
Const sZelle = "A1"     '! Achtung nur eine einzelne Zelle!
Const sTrennZ = "*"      '! Elemente nach diesem Zeichen Trennen
Dim ix As Integer
Dim iCnt As Integer
Dim sThisFormula As String
Dim sMsg As String
sThisFormula = ActiveSheet.Range(sZelle).Formula & sTrennZ
ix = 2
Do While InStr(ix, sThisFormula, sTrennZ) > 0
iCnt = iCnt + 1
sMsg = sMsg & "Wert " & iCnt & ": " & Str(Val(Mid(sThisFormula, ix))) & vbCrLf
ix = InStr(ix, sThisFormula, sTrennZ) + 1
Loop
MsgBox sMsg
End Sub


Greetz Renee

Anzeige
AW: bestimmte Teile einer Formel auslesen
22.08.2007 09:19:00
Chaos
Servus Dominic,
macht das, was du willst:

Sub test()
Dim s As String, t As String, w As String, w1 As String, t1 As String
Dim zw As Double, zwHinten As Double, zw1 As Double, zwHinten1 As Double
s = Range("A1").Formula ' z.B.:= 3,2*4,32*2,22
w = Len(s)
t = InStrRev(s, "*")
zw = t - 1
zwHinten = w - t
Range("A3").Value = Right(s, zwHinten) ' Das ist der hintere Teil = 2,22
w1 = Len(Left(s, zw))
t1 = InStrRev(Left(s, zw), "*")
zw1 = t1 - 1
Range("A4").Value = Left(s, zw1) ' Das ist der vordere Teil vom Gesamten = 3,2
zwHinten1 = w1 - t1
Range("A5").Value = Right(Left(s, zw), zwHinten1) ' Das der mittlere Teil = 4,32
End Sub


Liest aus der Formel in A1 die jeweiligen Einzelfaktoren aus.
Gruß
Chaos

Anzeige
AW: bestimmte Teile einer Formel auslesen
22.08.2007 10:09:00
Dominic
Vielen Dank.
Ich werde Eure Ratschläge gleich mal ausprobieren!
DANKE!
Gruß
Dome

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige