Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mehere funktionen als eine

mehere funktionen als eine
25.11.2006 12:04:09
Dirk
hallo
ich habe hier mehrere funktionen zusammen gewürfelt. ist es möglich, daraus eine eigene zu definieren?
Zelle A2: hhh (73 , 35 57 kg) dddddd
Zelle B2: =TEIL(A2;FINDEN(LINKS(F2);A2)+1;FINDEN(RECHTS(F2);A2)-FINDEN(LINKS(F2);A2)-1)
Zelle F2: ()
soll etwa so aussehen
Zelle A2: hhh (73 , 35 57 kg) dddddd
Zelle A2: findeWert(B2)
Zelle F2: ()
habe da schon mal etwas angefangen, nur wie mache ich die berechnung? mit dem Makrorecorder komme ich hier leider nicht weiter
dirk
Public

Function findeWert(a)
If a < 0 Then
findeWert = "Falsch"
Exit Function
Else
findeWert = ?
End If
End Function

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehere funktionen als eine
25.11.2006 12:09:34
ramses
Hallo
Sorry,...aber ich glaube da bin ich nicht der einzige, der kein Wort versteht.
Was soll das ?
Was bitte ist das ?
Zelle A2: hhh (73 , 35 57 kg) dddddd
Zelle B2: =TEIL(A2;FINDEN(LINKS(F2);A2)+1;FINDEN(RECHTS(F2);A2)-FINDEN(LINKS(F2);A2)-1)
Zelle F2: ()
soll etwa so aussehen
Das steht angeblich in A2
Zelle A2: hhh (73 , 35 57 kg) dddddd
Aber da soll auch eine Funktion drin stehen, die als Ergebnis ein Ergebnis eines vorherigen Wertes darstellt
Zelle A2: findeWert(B2)
Was ist das in F2 ?
Zelle F2: ()
Und was willst du tatsächlich erreichen mit der Funktion ?
Einen Wert,... oder zwei Werte ?
Da ist schon noch wenig Erklärung nötig.
Gruss Rainer
Anzeige
mehere funktionen als eine
25.11.2006 12:21:19
Dirk
die formel sucht in Zelle A2 alle Zahlen in den Klammern. Egal, wo sich die Klammer in der Zelle befindet.
Ergebniss
A2: hhh (73 , 35 57 kg) dddddd
B2: 73 , 35 57 kg
um die Leerzeichen zu entfernen, habe ich noch diese Funktion:

Function WerteAus(Ausdruck)
Dim sVar As String, i As Integer
For i = 1 To Len(Ausdruck.Value)
Select Case Mid(Ausdruck, i, 1)
Case Application.International(xlDecimalSeparator)
sVar = sVar + ","
Case Application.International(xlThousandsSeparator)
sVar = sVar + "."
Case Else
If InStr(1, "^0123456789,()+*-/", Mid(Ausdruck, i, 1)) Then
sVar = sVar + Mid(Ausdruck, i, 1)
End If
End Select
Next
WerteAus = CDbl(sVar)
End Function

Zelle C2: =WerteAus(B2)
Ergebniss: 73,3557
Dirk
Anzeige
nachtrag
25.11.2006 12:32:32
Dirk
Oh, ein schreibfehler, Natürlich soll in Zelle B2 :findeWert(A2) stehen
Zelle A2: hhh (73 , 35 57 kg) dddddd
Zelle B2: findeWert(A2)
Zelle F2: ()
AW: mehere funktionen als eine
25.11.2006 13:02:31
fcs
Hallo Dirk,
die benutzerdefinierte Funktion kann etwa so aus sehen:

Public Function findeWert(Text As String, Suchzeichen As String)
If Text = "" Then 'Zelle ist Leer
findeWert = "Falsch"
Else
'Prüfung ob beide Suchzeichen im Text vorhanden
If InStr(1, Text, Left(Suchzeichen, 1)) = 0 Or InStr(1, Text, Right(Suchzeichen, 1)) = 0 Then
findeWert = "Falsch"
Else
Text = Mid(Text, InStr(1, Text, Left(Suchzeichen, 1)) + 1, InStr(Text, Right(Suchzeichen, 1)) - _
InStr(Text, Left(Suchzeichen, 1)) - 1)
End If
'Zahl extrahieren
findeWert = ""
For i = 1 To Len(Text)
Select Case Asc(Mid(Text, i, 1))
Case 44, 48 To 57 'Ziffern 0 bis 9' und Komma
findeWert = findeWert & Mid(Text, i, 1)
Case Else
'do nothing
End Select
Next i
findeWert = CDbl(findeWert)
End If
End Function
Eingaben in der Tabelle:
A                   B      C   D   E   F
2  hhh (73 , 35 57 kg) dddddd   73,3557               ()
Benutzte Formeln:
B2:  =findeWert(A2;F2)
oder
B2:  =findeWert(A2;"()")

Gruss
Franz
Anzeige
mehere funktionen als eine
25.11.2006 13:25:11
Dirk
perfekt, sogar die leerzeichen sind weg
danke
dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige