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

Texte per VBA in einzelne Teile aufteilen

Texte per VBA in einzelne Teile aufteilen
27.04.2007 17:22:00
Christian
Guten Abend,
ich habe ein Problem, und zwar jenes, dass ich eine Ordnerstruktur inkl. der Dateien per Makro herausladen und als Liste wiedergeben kann, aber diese nicht nicht als Text aufgeteilt in einzelne Zellen übertragen bekomme. Sprich, ich möchte jeden Ordnernamen in eine Zelle der selben Reihe aber anderen Spalte schreiben, so dass sich der Pfad darstellt und in der äußersten Spalte sich der Dateiname wiederfindet. Problem hierbei ist, dass die Pfade eine unterschiedliche Länge haben.
Weiß jemand, wie sich dass per VBA lösen lässt?
Grüße
Christian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Texte per VBA in einzelne Teile aufteilen
27.04.2007 17:32:00
Jens
Hallo Christian
Weiß zwar nicht, ob ich Dich richtig verstanden habe, aber muss es denn VBA sein?
Das kannst Du auch mit Daten-Text in Spalten lösen.
MfG
Jens

AW: Texte per VBA in einzelne Teile aufteilen
27.04.2007 18:17:00
Christian
hallo Jens,
das habe ich versucht, aber hat sich als nicht wirklich praktisch erwiesen, da 1. die dateipfade unterschiedlich lang sind und 2. ich als eindeutiges Trennzeichen zwischen den Ordnerbezeichnungen nur ein "\" habe, z.B.
C:\1. Ordner\2. Ordner\3. Ordner\4. Odner\Dateiname.pdf
C:\1. Ordner\2. Ordner\3. Ordner\Dateiname.pdf
C:\1. Ordner\Dateiname.pdf
Ist es nicht einfacher, dieses mittels Makro die Orndernamen in 4 Spalten zu schreiben und den Dateinamen in eine 5.?
Gruß
Christian

Anzeige
AW: Texte per VBA in einzelne Teile aufteilen
27.04.2007 19:14:00
Luschi
Hallo Christian,
von Nonet igbt es ein xla-Tool "FileLister".
siehe http://www.spotlight.de/zforen/mse/m/mse-1176491612-32660.html
Dort kann man auch das Tool herunterladen (Der Link funktioniert!).
Damit werden Dateien aus einem bestimmten Ordner einschließlich Sub-Ordner in der Excelrabelle aufgelistet.
Gruß von Luschi
aus klein-Paris

AW: Texte per VBA in einzelne Teile aufteilen
27.04.2007 19:15:07
Jens
Hi Christian
Bei "Text in Spalten" kannst Du aber als Trennzeichen aber auch ein "\" eingeben.
Allerdings bringt Dir das halt nicht alle Dateinamen in ein Spalte untereinander.
Über VBA ist das bestimmt möglich, allerdings stehe ich da nicht ganz so im Saft ;-)
Aber hier gibt es ja ne Menge kluger Köpfe hier im Forum :-)
Deshalb stell ich die Frage nochmal auf offen...
Gruß
Jens

Anzeige
AW: Texte per VBA in einzelne Teile aufteilen
28.04.2007 04:02:00
Luc:-?
Hallo Christian,
entspricht das Folgende deinen Vorstellungen?
Hier sollte ein Bild stehen, aber momentan lässt sich aus unerfindlichen Gründen nicht mal so ein klitzekleines Gif-Bild auf den Server laden. Wartungsmodus war doch bisher hier nicht üblich!? Wie zum Hohn kommt dann auch noch der Standardfehlertext, der mir eigentlich nur bestätigt, dass ich alles genauso richtig gemacht habe wie früher auch. Trotz Überarbeitung der Forumssoftware doch eine Verschlechterung...?!
Na, dann muss es ohne Bsp gehen! Folg Fkt kann im Tabellenblatt oder in einem Makro eingesetzt _ wdn...

Option Explicit
Function Splint(Text, Optional Trenner As String = " ", Optional ByVal AnfPos As Long, _
Optional ByVal EndPos As Long, Optional ByVal LetztEnd As Boolean)
Dim i As Long, j As Long, l As Long, m As Long, TxtVkt, x, y() As String
If AnfPos = 0 And EndPos = 0 Then Splint = Split(Text, Trenner): Exit Function
TxtVkt = Split(Text, Trenner): m = UBound(TxtVkt) + 1
If AnfPos = 0 Then AnfPos = 1: If EndPos = 0 Then EndPos = m
l = EndPos - AnfPos: If l = AnfPos And i  l) Then y(l) = x: Exit For
Next x
Splint = y
End Function 


Als TabBl-Formel musst du für B3=c:\www\spotlight\excel\forum\suche\meister.html in die 1.Zelle einer Markierung von 6 Zellen die Matrixformel {=Splint(B3;"\";2;7;1)} eintragen. 2 bedeutet, dass erst ab dem 2.Teilstück ausgegeben wird, 7, dass 7 Teilstücke maximal ausgewertet wdn, 1, dass das letzte Teilstück stets in der letzten Zelle der Markierung steht. Die Fkt fkt nur pro Ausgangswert, d.h., Text darf nur 1 Zelle repräsentieren! Bei Einsatz in einem Makro hier eine Schleife verwenden.
Gruß Luc :-?
PS: Im TabBl bitte den besonderen Eintragungsmodus von Matrixformeln beachten!

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige