Anzeige
Archiv - Navigation
1368to1372
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
Zahlen im Text erkennen
16.07.2014 22:00:28
Friedhelm
Hallo,
ich lese mit einem Makro Text ein. Ich möche nun prüfen ob in einer dieser Zelle der Text am Anfang aus 12 Zahlen besteht.
Wie muss ich diese If Abfrage stellen?
Schönen Gruß
Friedhelm

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen im Text erkennen
16.07.2014 22:12:25
Matze
Hallo Friedhelm ,
hab eben mal in meinen tiefen Excel Verzeichnissen gestöbert,
der Code war von jogy
' Liest Zahlen aus einem String heraus
' matchNr gibt an, welcher Treffer ausgelesen werden soll
Function getZahl(ByVal myStr As String, Optional ByVal matchNr As Integer = 1)
Dim regEx As Object
Dim Matches As Object
' 

eine Funktion die in ein Modul gehört:
in A1 Zb 12345abdefg ; in B1 =getzahl(a1) ; Ergebnis 12345
Matze

AW: Zahlen im Text erkennen
16.07.2014 22:22:53
Daniel
Hi
In VBA mit der Like- Funktion, weil die das # als Joker für Ziffern kennt.
If deintext like "############*" then

Gruß Daniel

Anzeige
AW: Zahlen im Text erkennen
16.07.2014 22:32:50
Matze
Hi Daniel,
danke dafür, so kurz und bündig, das muss man doch auch erst mal wissen.
Matze

Etwas variabler & ggf eleganter wäre wohl ...
17.07.2014 09:36:34
Luc:-?
If dText Like String(12, "#") & "*" Then …! ;-]

Nebenbei (und hier nicht relevant); da die vbFkt String als 2.Argument auch einen (numerischen) ZeichenCode zulässt, den aber auf normale ASCII-Werte moduliert, könnte man sie für einen evtl Einsatz in/als UDF etwas „verbessern“:
Function ChRep(ByVal zAnz As Long, ByVal zCode, Optional ByVal uCode As Boolean)
If WorksheetFunction.IsNumber(zCode) Then
If uCode And zCode > 255 Then zCode = ChrW(zCode)
End If
ChRep = String(zAnz, zCode)
End Function
Wenn man wollte, könnte man sicher auch die Beschränkung auf 1 Zeichen in Arg2 umgehen, aber dafür gibt's ja die WorksheetFunction.Rept (WIEDERHOLEN, mit umgekehrter Argumentierung!).

Morrn, Luc :-?

Anzeige
Ergänzender Gedanke nur zur UDF
17.07.2014 09:47:00
Luc:-?
Noch cleverer und auch im Sinne des String-Pgmierers wäre es wohl, im uCode-Fall eine CodeZahl in Arg2 erst mit 256^2 zu modulieren → dann würden nahezu beliebig große Zahlen (fast) immer auch ein Ergebnis und keinen Fehler liefern.
Luc :-?

...und noch ein Hinweis zu String
17.07.2014 10:41:17
Luc:-?
Da String als 2.Arg einen Text bzw maximal eine Integer-Zahl erwartet, sollte man darüber (&h7FFF=32767) hinausgehende Long-Werte in der vorgestellten UDF auch im Not uCode-Fall mit 256 (vor-)modulieren, weil String sonst in einen Fehler läuft.
Luc :-?

AW: Zahlen im Text erkennen
17.07.2014 13:25:56
Friedhelm
Hallo Daniel,
in der Kürze liegt die Würze ;-))
Vielen Dank für das Hilfsmittel, es lasst sich wunderbar einbauen.
@ Matze, auch dir vielen Dank für die Mühe
Schönen Gruß
Friedhelm
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige