Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1452to1456
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

Pattern Mitte

Pattern Mitte
26.10.2015 10:20:24
Larissa
Ich habe ein ähnliches Problem, die Tage schon gepostet und es wurde idealerweise gelöst. nun hat sich die Angelegenheit noch ein wenig "verschärft".
Ich habe ein pattern, dass folgendermaßen aussieht:
eine beliebige Zeichenfolge gefolgt von einem -, beliebige Zeichenfolge - beliebige Zeichenfolge
--> %-%-%
% = beliebige Zeichenfolge.
Der String (Pattern) kann am Anfang, Mitte oder Ende stehen. Wie löse ich das mit den VBA-Funktionen Left(), Right() oder Mid(). Gibt es noch eine andere nützliche Funktion?
Vielen lieben Dank im Voraus für eure tatkräftige Unterstützung.

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pattern Mitte
26.10.2015 10:26:58
Rudi
Hallo,
hilft dir Split() weiter?
vArr = Split(String,"-") teilt den Strin "aa-bb-cc" an den - in ein Array auf.
Gruß
Rudi

AW: Pattern Mitte
26.10.2015 10:34:33
Larissa
Leider nicht, da ich ja das gesuchte Pattern %-%-% als ganzes brauche.
Beispiel:
1 4,00 12-AB-CDEF 15,25 € 61,00 €
12-AB-CDEF soll nach dem Schneiden übrig bleiben. Mal kann das Pattern am Anfang, Mitte oder Ende stehen.

AW: Pattern Mitte
26.10.2015 10:42:21
Rudi
Hallo,
dann splitte am Leerzeichen und durchsuche das Array nach den -.
a= "1 4,00 12-AB-CDEF 15,25 € 61,00 €"
b=split(a," ")
for i=0 to ubound(b)
if b(i) like "*-*-*" then
c=b(i)
Exit for
End If
next i
Gruß
Rudi

Anzeige
AW: Pattern Mitte
26.10.2015 10:43:49
Larissa
Ich habe das eben getestet und die Ausgabe ist der komplette String.

AW: Pattern Mitte
26.10.2015 10:52:38
Rudi
Hallo,
und du willst die Bestandteile von 12-AB-CDEF ?
Wieder Split.
Sub aaa()
a = "1 4,00 12-AB-CDEF 15,25 € 61,00 €"
b = Split(a, " ")
For i = 0 To UBound(b)
If b(i) Like "*-*-*" Then
c = Split(b(i), "-")
Exit For
End If
Next i
For i = 0 To UBound(c)
MsgBox c(i)
Next
'MsgBox Join(c, vbLf)
End Sub
Gruß
Rudi

AW: Pattern Mitte
26.10.2015 10:54:38
Larissa
Ne die Ausgabe bei dem String oben ist der komplette String und ich will nur 12-AB-CDEF.

AW: Pattern Mitte
26.10.2015 10:57:07
Rudi

Sub aaa()
a = "1 4,00 12-AB-CDEF 15,25 € 61,00 €"
b = Split(a, " ")
For i = 0 To UBound(b)
If b(i) Like "*-*-*" Then
c = b(i)
Exit For
End If
Next i
MsgBox c
End Sub

Anzeige
AW: Pattern Mitte
26.10.2015 11:02:30
Larissa
Danke, sorry mein Fehler! Genau das habe ich gesucht. Vielen lieben Dank!

AW: Pattern Mitte
26.10.2015 10:56:03
Daniel
Hi
hast du das richtige Trennzeichen bei b=split(a," ") eingegben (der zweite Parameter)?
schau mal welches Zeichen das ist und welches ASCII-Code es hat.
das kannst du so rausfinden:
Zähle aus, an welcher Position das Trennzeichen das erste mal auftritt und gib dann in eine freie Zelle die Formel ein
=Code(Teil(A1;xxx;1))
A1 ist die Zelle in der der Text steht, für xxx setzt du die von dir ausgezählte Postionsnummer des Trennzeiches ein.
Gruß Daniel

Anzeige
berechtigter Einwand
26.10.2015 11:02:28
Rudi
wenn das Leereichen kein chr(32) sondern ein chr(160) ist klappt es so nicht.
Sicherheitshalber austauschen.
  a = "1 4,00 12-AB-CDEF 15,25 € 61,00 €"
a = Replace(a, Chr(160), Chr(32))

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige