Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1168to1172
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 | Herbers Excel-Forum

Funktion
05.08.2010 17:08:52
Alois G

Hallo Experten
Ich versuche mit einer Funktion Zahlen vom Text zu befreien, weil ich mit den Zahlen rechnen will.
Das klappt nur leider nicht ganz. Kann man das vielleicht hinkriegen. Bitte um eure Hilfe.


      
Public Function machspunkt2(zelle As Range, intI As IntegerAs String
Dim objRegex As Object
Set objRegex = CreateObject("Vbscript.regexp")
With objRegex
    .Global = 
True
    .Pattern = "\d{0,}[,]{0,}\d{0,}"
    machspunkt2 = .Execute(zelle.Text)(intI - 1)
End With
End Function
 

     Code eingefügt mit Syntaxhighlighter 3.0

Beispiel:
https://www.herber.de/bbs/user/70924.xlsm
Gruß Alois

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

Betreff
Datum
Anwender
Anzeige
Oh Gott, welch Aufwand für zellenweises...
05.08.2010 17:24:39
Luc:-?
…Arbeiten, Alois…!
Oder wo willst du die Fkt einsetzen — TabBlatt oder in Subroutine?
Gruß Luc :-?
AW: Oh Gott, welch Aufwand für zellenweises...
05.08.2010 18:29:10
Alois G
Das ist auch nur ein kurzes Beispiel für ein kleines Teilproblem. Man startet im Forum keine Frontalangriffe. Probleme werden hier Schrittweise gelöst. Und ich setze es dann in über 100 TabBlättern ein.
AW: Funktion
05.08.2010 19:34:39
Henrik
Hallo Alois
versuch mal:

Public Function machsWert(ByVal Zelle)
On Error Resume Next
Länge = Len(Zelle)
For zae1 = 1 To Länge
BST = Mid(Zelle, zae1, 1)
If Not (BST Like "[0-9]") And Not (BST = ",") Then
machsWert = CDbl(Replace(Zelle, BST, " "))
End If
Next zae1
End Function

Gruß Henrik
Anzeige
AW: Funktion
05.08.2010 20:24:28
Alois G
Danke das geht in die richtige Richtung. Kann man da noch was einbauen, das die Zellen mit reinen Zahlen ohne Text einfach als Zahl übernommen werden? Jetzt erscheint ja die 0 .
Gruß Alois
AW: Funktion
05.08.2010 21:16:19
Tino
Hallo,
versuch mal so.
Public Function machspunkt2(zelle As Range, intI As Integer) As Double
Dim objRegex As Object, objMatch As Object
Set objRegex = CreateObject("Vbscript.regexp")
If IsNumeric(zelle) Then
machspunkt2 = zelle.Value * 1
Else
With objRegex
.Global = True
.Pattern = "\d+,\d+|\d+"
Set objMatch = .Execute(zelle.Text)
If objMatch.Count > 0 Then machspunkt2 = objMatch(0)
End With
End If
End Function
Gruß Tino
Anzeige
AW: Funktion
05.08.2010 21:33:50
Alois G
If IsNumeric(zelle) Then
machspunkt2 = zelle.Value * 1
Das hab ich noch gebraucht. Danke jetzt Funktioniert es.
Gruß und Dank
Alois

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige