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

Ziffern aus String auslesen

Ziffern aus String auslesen
27.10.2002 17:01:16
Manfred
Ich habe folgendes Problem. Aus einem Aktenzeichen, daß wie folgt aufgebaut ist,

O 2220 - 11 - LZ 2 - 11

möchte ich jeweils die Ziffern auslesen, die jeweils nach den Bindestrichen stehen. Die Ziffern weichen jedoch ab, mal einstellig mal mehrstellig. Bei dem Wert zwischen den beiden Bindestrich brauche ich sowhl die beiden Buchstaben als auch die Ziffern.
Nach dem zweitem Bindestrich folgt immer eine Buchstabenkombination aus LZ oder ST.


Ich habe bereits auf der Excel-CD-Rom und in der Recherche gestöbert, aber bin nicht so richtig fündig geworden.
Mit Mid komme ich nicht so recht weiter, da die Ziffernfolge immer abweicht.

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

Betreff
Datum
Anwender
Anzeige
Re: Ziffern aus String auslesen
27.10.2002 17:34:52
Heinz A. Wankmüller
Hallo Manfred,

am einfachsten ist es, die Funktion Daten/Text in Spalten zu verwenden. Wenn du hier den Bindestrich als Trennzeichen verwendest, werden die vier Gruppen in je eine Spalte geschrieben.
Wenn du dann noch beim Schritt 3 des Assistenten die erste Spalte überspringst, hast du, was du wolltest.

Gruß
Heinz

Re: Ziffern aus String auslesen
27.10.2002 17:36:18
M@x
Hallo Manfred,
klar ist mir die Fragestellung nicht ganz.
da du ja den ersten "11" "LZ2 und den zweiten 11er willst kann man da nicht gleich die erste Zahlenkombination streichen?

Gruss

M@x

instr+mid
27.10.2002 17:36:48
andre
Hallo Manfred,
bevor Du mit MID anfängs suche erst mal mit INSTR die Lage der Striche, Leerzeichen usw., mit dem Ansatz schaffst Du's bestimmt allein.
gruss andre
Anzeige
Re: instr+mid
27.10.2002 20:11:05
Manfred
Hallo Andre,
Du hast mir schon ein wenig weitergeholfen, mit InStr kann ich
jetzt wenigstens abfragen, ob im Aktenzeichen ein St oder LZ
steht.
Wie ich das jetzt mit den Ziffern bewerkstellige, darüber brüte ich zur Zeit noch.
Ich kann mir jetzt zwar mit InStr die position des ersten Bindestrichs erfragen, aber wie geht es dann weiter.

Aber nochmals Vielen Dank.

Meine Lösung zur Abfrage ob St oder LZ
Dim st, lz As Integer
st = InStr(1, Cells(1, 1), "St", 1)
lz = InStr(1, Cells(1, 1), "LZ", 1)
If st > 0 Then
MsgBox Mid(Cells(1, 1), st, 2)
Else
MsgBox Mid(Cells(1, 1), lz, 2)
End If

Anzeige
Re: Ziffern aus String auslesen
27.10.2002 20:20:15
Manfred
Hallo Heinz,

Danke für Deine Hilfe. Aber ich wollte das ganze schon über VBA abfragen. Aber die von Dir vorgeschlagene Lösung ginge zur Not auch, wenn ich meine Tabelle um Hilfsspalten ergänze.

Die ausgelesenen Werte möchte ich in Textboxen einer UserForm
einlesen. Daher wäre es mir schon lieb, wenn ich auf die Hilfsspalten verzichten könnte.

Trotzdem nochmals Dank.

Re: Ziffern aus String auslesen
27.10.2002 21:35:00
Boris
Hallo Manfred,

da ich sehe, dass das Problem noch nicht gelöst ist:

Ich bin zwar kein VBAler, aber formelmäßig kann man das glaube ich lösen.
Wenn du (oder jemand anderes) in der Lage bist, dass dann noch in VBA unzusetzen, könnte es vielleicht funktionieren.
So wie ich das verstehe, kann als einzig feststehendes Trennzeichen nur nach dem Bindestrich gesucht werden.
Wenn es jetzt immer 3 Bindestriche sind, dann kannst du die Position der Bindestriche wie folgt (formelmäßig) ermitteln (das Aktenzeichen steht in A1)

Bindestrich Nummer 1:

=FINDEN("-";A1;1)

Bindestrich Nummer 2:

=FINDEN("-";A1;FINDEN("-";A1;1)+1)

Bindestrich Nummer 3:

=FINDEN("-";A1;FINDEN("-";A1;FINDEN("-";A1;1)+1)+1)

Wenn man diese Formeln jetzt noch kombiniert mit =LÄNGE und =TEIL oder =LINKS oder =RECHTS (und das dann halt noch in VBA umsetzt), dann sollten sich doch eigentlich alle Bestandteile einzeln auslesen lassen.

Vielleicht hilft dir das ja etwas weiter.

Gruß Boris

Anzeige
Re: Ziffern aus String auslesen
27.10.2002 23:20:00
Manfred
Ich Danke Dir Boris. Das war es was mir fehlte. Wenn nicht immer diese Logik wäre.

In Vba ermittele ich jetzt den Wert nach dem letzen Bindestrich
mit folgenden Code

Mid(Cells(1, 1), InStr(InStr(InStr(1, Cells(1, 1), "-", 1) + 1, Cells(1, 1), "-", 1) + 1, Cells(1, 1), "-", 1) + 1, Len(Cells(1, 1)) - (InStr(InStr(InStr(1, Cells(1, 1), "-", 1) + 1, Cells(1, 1), "-", 1) + 1, Cells(1, 1), "-", 1)))

und das andere werde ich auch noch hinkriegen, aber nicht mehr
heute. Es gibt auch noch ein Leben nach Excel.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige