Microsoft Excel

Herbers Excel/VBA-Archiv

Extrationsprobleme

Betrifft: Extrationsprobleme von: Klamsi
Geschrieben am: 13.08.2004 10:24:13

Hi Leute!

Ich habe ein Problem an dem ich verzweifel, und brauche schnellstmöglichst eine Lösung dafür:

Ich habe eine Liste mit rund 33.000 Pfaden, bei denen nur der Dateiname extrahiert werden soll.

Bsp.:
- es steht in der Zelle A1 der Wert "C:\Programme\beispiel.file" drin.
- in der Zelle A2 dann wieder ein anderer Pfad mit anderem Dateinamen

Ich möchte nun nur den Dateinamen der rund 33.000 Files rausextrahieren, und in die Zelle daneben schreiben (im Beispiel wäre es B1)

Wie macht man das?

Ein Lösungsweg wäre vielleicht folgendes:

Man müsste die Zelle A1 von rechts nach links auf das letzte "\" durchsuchen und sich ausgeben lassen, an welcher stelle das letzte "\" steht.

Würde ich wissen an welcher stelle das letzte "\" steht, könnte ich alles dannach kommende (also das "beispiel.file") mit "=RIGHT(A1,und die Stelle des letzten "\") rausextrahieren.

Es gibt in Excel aber nur die Möglichkeit von von links nach rechts zu suchen, womit man immer die Stelle des ersten "\" ausgegeben bekommt.

Wie kann man nun Excel erklären, das man nur den Dateinamen haben will?

Habt ihr eine Lösung parat?

Gruß, euer Klamsi!

PS:
Eine Beispieldatei meines Problems, für das bessere Verständniss:

"https://www.herber.de/bbs/user/9578.xls"

  


Betrifft: AW: Extrationsprobleme von: Dr.
Geschrieben am: 13.08.2004 10:29:21

Hi Klamsi,

ist sicher nicht der eleganteste Weg, aber ersetze doch alle "\" durch Blanks und stelle den Dateinamen über Daten, Text in Spalten frei.


  


Betrifft: AW: Extrationsprobleme von: Klamsi
Geschrieben am: 13.08.2004 11:09:59

über Daten, Text in Spalten frei??? Was meinst du damit?

Das mit den Blanks hilft mir glaub ich auch nicht weiter.

Es soll ja der Pfad vom Dateinamen getrennt werden.
Also das heißt, der Pfad muss ganz bleiben. Die "\" müssen drin bleiben. Ich brauch beides sauber getrennt...

Vielleicht hat ja noch jemand ne idee.
Schaut euch mal die Beispielfile an...


  


Betrifft: AW: Extrationsprobleme von: AndreasG
Geschrieben am: 13.08.2004 10:36:50

Hallo Klamsi,

von links suchen geht so:

{=MAX((TEIL(A1;SPALTE(1:1);1)="\")*SPALTE(1:1))}

Achtung: Array Formel!

vgl. auch www.excelformeln de

Grüße

Andreas


  


Betrifft: AW: Extrationsprobleme von: Klamsi
Geschrieben am: 13.08.2004 11:06:04

Da gibts ein Problem:

Ich habe ein englisches Excel!

Was also ist TEIL und SPALTE?

Und was muss ich jetzt bei einer Array-Formel beachten? (hab davon noch nie gehört)


  


Betrifft: AW: Extrationsprobleme von: Thomas Risi
Geschrieben am: 13.08.2004 11:07:11

Hi Klamsi

Hier eine kleine Funktion ...


      
Option Explicit

Public Function FileName(FilePath As StringAs String
    
Dim a: a = Split(Right(FilePath, Len(FilePath) - InStrRev(FilePath, "\")), ".")
    FileName = 
CStr(a(0))
End Function 


     Code eingefügt mit Syntaxhighlighter 3.0

Gruß
Thomas

Risi Thomas Softwareentwicklung




  


Betrifft: AW: Extrationsprobleme von: Klamsi
Geschrieben am: 13.08.2004 11:15:10

Ich hab leider keine Ahnung von VBA, oder was immer das auch sein mag...

Wie kann ich das jetzt in meinem Excel-Sheet zur Anwendung bringen?


  


Betrifft: AW: Extrationsprobleme von: Thomas Risi
Geschrieben am: 13.08.2004 11:20:05

Ganz einfach ...

Geh in die Entwicklungsumgebung (Alt + F11). Dort fügst Du ein normales 'Modul' ein (zweiter Button von links), und dort kopierst Du den Code rein. Das wars ...

Jetzt kannst Du die Funktion in der Tabelle verwenden, zu finden im Funktionsmanger unter 'Benutzerdefiniert'.

Gruß
Thomas

Risi Thomas Softwareentwicklung




  


Betrifft: AW: Extrationsprobleme von: Klamsi
Geschrieben am: 13.08.2004 12:35:01

AHA!
Bis dahin hab ich es jetzt geschafft.

Nun stellt sich für mich nur noch die Frage:

Wie benutze ich das jetzt?
Ich hab des Jetzt mit dem Funktionsmanager in eine Zelle kopiert.
Und nun?
Muss ich noch irgendwas angeben damit das klappt?

Was genau macht dein Modul?


  


Betrifft: AW: Extrationsprobleme von: Thomas Risi
Geschrieben am: 13.08.2004 12:38:26

>Muss ich noch irgendwas angeben damit das klappt?

Ja, natürlich mußt Du was eingeben :-)

Die Zelle in der Dein Dateipfad steht, z.B. A1

Gruß
Thomas

Risi Thomas Softwareentwicklung




  


Betrifft: AW: Extrationsprobleme von: KLAMSI
Geschrieben am: 13.08.2004 13:02:55

OH!
Schon gut!
Ich habs selber rausbekommen *stolz sei*

Danke für alles.

Hast mir echt weitergeholfen.


Auch allen anderen ein fröhliches danke für eure mithilfe!


Bye!

Bis zum nächsten Problem *g*


  


Betrifft: AW: Extrationsprobleme von: Thomas Risi
Geschrieben am: 13.08.2004 13:03:05

Hm, ich kann Deinen letzten Beitrag nicht lesen ...

Gruß
Thomas

Risi Thomas Softwareentwicklung