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

Teil eines Strings aussondern, Teil 3 :((((

Teil eines Strings aussondern, Teil 3 :((((
18.02.2004 12:55:07
Alexej
Hallo Forum, ich bins mal wieder mit meinen Teilstrings :(
Mit hilfe von Joahim konnte ich wunderbar das Problem loesen, indem ich diese Formel benutzt habe:
=mid(C2;FIND("inventory";C2)+10;len(C2)-(FIND("inventory";C2)+8)-4)
so konnte ich aus den Strings:
c:\text\noch etwas text\inventory-india.xls
c:\ein weiterer ordner\Inventory-indonesia.xls
wunderbar die Laenderbezeichnungen rausfiltern.
Nun habe ich aber das Problem, dass die Strings nicht Inventory vor der Laenderbezeichnung enthalten. Es gibt naehmlich drei verschiedene Bezeichnungen:
1. c:\irgendeinordner\inventory-russia.xls (das kann ich ja wunderbar mit Hilfe der Formel rausfiltern)
2. c:\nocheinordner\LRM_2003-russia.xls
3. c:\einweitererordner\RST_2003-russia.xls
Ich habe versucht eine verschachtelte If Funktion hinzukriegen, hat aber nicht funktioniert :((
Weiss jemand, wie ich dieses Problem loesen kann?
Viele Gruesse,
Alexej

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teil eines Strings aussondern, Teil 3 :((((
18.02.2004 13:05:35
Alex K.
Hallo Alexej,
probiere mal diese Formel:

=MID(C2,SEARCH("-",C2,1)+1,SEARCH(".xls",C2,1)-SEARCH("-",C2,1)-1)

Funktioniert aber nur, wenn der Dateinname in der Form
pfad\pretext-land.xls vorliegt. Also der Bindestrich und ".xls" sind notwendig. Wenn im Pfad ein Bindestrich vorkommt, funktioniert das Ganze nicht.
Hi Alex
18.02.2004 13:10:51
Alexej
Das habe ich vergessen zu erwaehnen, man sollte sich nicht auf den Bindestrich beziehen sollen, weil auch andere Trennzeichen vorkommen, wie z.B. _ oder ' und und und...
Viele Gruesse,
Alexej
Trennung ist nötig
18.02.2004 13:12:34
Alex K.
Hallo Alexej,
das ist ja nett. Nur ein Kriterium benötigt man schon, dass die Bezeichnung vom Land trennt. Kann man also grundsätzlich davon ausgehen, dass durch ein Sonderzeichen das Land von der Bezeichnung getrennt ist?
Anzeige
Richtig
18.02.2004 13:17:21
Alexej
Es ist immer ein Trennzeichen vorhanden, aber es kann fast jedes beliebige sein...
AW: Richtig
18.02.2004 13:35:25
Alex K.
Hallo Alexej,
in diesem Fall geht es effizient nur über ein Makro. Ich habe dir eine Formel-Funktion erstellt.
Kopiere den nachfolgenden Code im VBA-Editor in ein Modul (Menü Einfüge -> Modul)

Public Function ExtraktLand(Suchtext As String) As String
Dim i       As Integer
Dim actChr  As String
For i = Len(Suchtext) - 4 To 1 Step -1
actChr = Mid(Suchtext, i, 1)
If Not ((Asc(actChr) >= Asc("a") And Asc(actChr) <= Asc("z")) Or _
(Asc(actChr) >= Asc("A") And Asc(actChr) <= Asc("Z")) Or _
(Asc(actChr) >= Asc("ä") And Asc(actChr) <= Asc("ü")) Or _
(Asc(actChr) >= Asc("Ä") And Asc(actChr) <= Asc("Ü"))) Then
ExtraktLand = Mid(Suchtext, i + 1, Len(Suchtext) - i - 4)
Exit Function
End If
Next i
ExtraktLand = "Kein Trennzeichen gefunden"
End Function
.
In deiner Tabelle kannst du nun über
=ExtraktLand(C3)
das Land eintragen lassen.
Anzeige
Hmmm....
18.02.2004 13:46:53
Alexej
Danke dir Alex,
Leider bin ich nicht so fit in VBA...
Muss ich jedesmal in dem Makro anstatt "Suchtext" den Names des Landes eintragen?
Koenntest du es mir bitte fuer doofe erklaeren?
Der Gesamtstring steht in der Zelle C2, der Teilstring muesste in H2 erscheinen. Jedesmal, wenn sich der String in der Zelle C2 aendert, muss der neue Teilstring in H2 erscheinen.
Wie schaffe ich das?
Viele Gruesse,
Alexej
AW: Hmmm....
18.02.2004 13:56:57
Alex K.
Hallo Alexej,
mein Makro verhält sich wie eine Funktion. Das ist ein sog. benutzerdefinierte Funktion.
Also noch einmal
Lege in deiner Arbeitsmappe ein Modul an. Dazu wie folg vorgehen:
1) Über Menü "Extras -> Visual Basic Editor" den VBA Editor aufrufen
2) Hier über Menü "Einfügen -> Modul" anlegen.
3) Es öffnet sich nun ein Fenster mit der Bezeichnung "... Modul1 (Code)"
4) Hier nun den folgende Code über CopyAndPaste einfügen

Public Function ExtraktLand(Suchtext As String) As String
Dim i       As Integer
Dim actChr  As String
For i = Len(Suchtext) - 4 To 1 Step -1
actChr = Mid(Suchtext, i, 1)
If Not ((Asc(actChr) >= Asc("a") And Asc(actChr) <= Asc("z")) Or _
(Asc(actChr) >= Asc("A") And Asc(actChr) <= Asc("Z")) Or _
(Asc(actChr) >= Asc("ä") And Asc(actChr) <= Asc("ü")) Or _
(Asc(actChr) >= Asc("Ä") And Asc(actChr) <= Asc("Ü"))) Then
ExtraktLand = Mid(Suchtext, i + 1, Len(Suchtext) - i - 4)
Exit Function
End If
Next i
ExtraktLand = "Kein Trennzeichen gefunden"
End Function

So, das wars im VBA Eidtor, nun wieder in Excel auf dein Tabellenblatt welcheseln. Dort kannst du nun in Zelle H2 folgende Formel eingeben:
=ExtraktLand(C2)
Nun wird in H2 das Land aus dem Pfad-Text (Zelle C2) extrahiert. Wenn du den Wert in C2 änderst, ändert sich auch der Wert in H2.
Anzeige
Perfekt!
18.02.2004 14:04:08
Alexej
Danke dir vielmals Alex fuer deine Hilfe und deine Engelsgeduld mit mir :))
Viele Gruesse,
Alexej
Wir haben alle mal angefangen :-) oT
18.02.2004 14:06:22
Alex K.

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige