online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon steindesign vom 02.02.2020, 20:23 Options

VBA, Zahl mit x Ziffern aus Textstring lesen

Hallo zusammen,

Habe folgendes Problem:
Will aus einem Textstring eine Zahl nach folgendem Format auslesen:
Die Zahl startet entweder mit 5400xxxxxxx oder sie startet 10xxxxx
Wollte das ganze mit der folgenden Funktion machen:
InStr(1, SuchString, SuchZeichen, 0)
aber das SuchZeichen kann ich nicht formatieren nach dem Muster: Suchzeichen = "*5400" & "#######"

Das schluckt mir das System nicht, warum ? Das muss doch irgendwie gehen ??!!


Antwort schreiben

Antwort 1 von rainberg vom 03.02.2020, 08:37 Options

Hallo,

probier mal das:

Option Explicit

Sub zahl_holen()
   Dim rngC As Range, rngBer As Range
   Dim lngI As Long, strZahl As String
   Set rngBer = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
   For Each rngC In rngBer
      strZahl = ""
      For lngI = 1 To Len(rngC)
         If Mid(rngC, lngI, 1) >= 0 And Mid(rngC, lngI, 1) <= 9 Then
            strZahl = strZahl & Mid(rngC, lngI, 1)
         End If
      Next
      rngC.Offset(0, 1).Value = strZahl
   Next
End


In A1:Axxx stehen die Strings
In B1:Bxxx werden die extrahierten Zahlen aufgelistet

Allerdings weiß ich nicht, ob ich Dich richtig verstanden habe.

Gruß
Rainer

Antwort 2 von steindesign vom 03.02.2020, 16:27 Options

Hallo Rainer,

Danke vielmal für die Antwort, aber bei mir funktionniert es noch nicht ich erhalte einen Laufzeitfehler...

Also ich habe einen String der sieht folgendermassen aus: "SMS-Voranmeldung Stamm.-Nr: 54003648899 Module: TAM und TM4 Vorwahl -- Datum.- Zeit: 10.02.2008 13:55"
So und in diesem String kann die Stamm Nr. eben aus 5400xxxxxxx oder 10xxxx xxxNr. bestehen und dies will ich auslesen und extrahieren. Dies schaff ich auf einfache Weise nicht.

Liebe Grüsse, Rolf

Antwort 3 von rainberg vom 03.02.2020, 16:50 Options

Hallo Rolf,

an so lange Strings mit mehrfachen Zahlenbereichen hatte ich natürlich nicht gedacht.
Trotzdem funktioniert das Makro, wenigstens teilweise.

Man müsste mehrere Strings vor sich haben um zu untersuchen, wie man die Suche darin evtl. begrenzen könnte.

Ich hänge Dir die Testdatei mal an.

http://www.netupload.de/detail.php?img=61bfdfd089d3a2062c039ad3621a...

Gruß
Rainer

Antwort 4 von steindesign vom 03.02.2020, 17:09 Options

Hallo Rainer,

Ja soweit nicht ganz schlecht... aber eben die Zahl bzw. die Stamm.- Nr. möchte ich genau extrahiert bekommen.
Ich zeige Dir mal mein Makro:

Sub Makro1()
Dim SuchText, SuchZeichen, Pos1
SuchText = Range("D7").Value
SuchZeichen = "5400"
Pos1 = InStr(1, SuchText, SuchZeichen, 0)
MsgBox Pos1

Dim strTrim As String
strTrim = SuchZeichen
MsgBox Trim(strTrim)
End Sub

Dies spuckt mir folgendes raus: zuerst die Position 23 dann die 5400 aber eben nur 5400....

Gruss, Rolf

Antwort 5 von rainberg vom 03.02.2020, 19:24 Options

Hallo Rolf,

hab mir Dein Makro angesehen, kann das aber auch nicht vervollständigen, da ich weniger Info habe als Du.

Mich würden die Strings interessieren, wieviele verschiedene Muster gibt es, an welchen Stellen befindem sich die relevanten Zahlen usw.
Dazu müsste man aber mal einen Sack voll solcher Dinger sehen.

Ich würde versuchen den String zu beschneiden um aus dem Reststück die gewünschten Zahlen wie oben beschrieben heraus zu holen.

Natürlich führen auch hier viele Wege nach Rom und jemand hat eine viel bessere Idee.

Gruß
Rainer

Antwort 6 von steindesign vom 03.02.2020, 19:41 Options

Hallo Rainer,

Die Textstrings selber sind nicht relevant, da ich wirklich nur nach den Zahlen suchen will. D.h. z. Teil werden sie mit Text und z. Teil auch ohne Text nur mit Leerschlägen dazwischen versandt. (Dies sind Texte die als SMS ankommen und als E-Mail umgewandelt werden und dann autom. verarbeitet werden sollen... Aber wenn ich dies nicht kann....


Help Help.. Help, Kann uns niemand mehr helfen ???
Wo sind die VBA Krackis ? Wo sind die Vollblut Informatiker ?


Gruss, Rolf

Ähnliche Themen

Textstring mit variablem Inhalt
hanswerner  15.06.2007 - 80 Hits - 6 Antworten

Ziffern vergleichen
Uwz  04.07.2007 - 6 Hits - 4 Antworten

Datum soll Zahl pro Tag um 1 erhöhn
fedjo  05.01.2008 - 34 Hits - 4 Antworten

Excel VBA Werte trennen
Mona2008  21.01.2008 - 12 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 07:32:25 2026