suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Moderator: ModerationP

suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Kai der Ahnungslose » 09. Jan 2018, 12:09

Hallöchen
jetzt braucht der Ahnungslose mal eine Idee.
ich habe mit WorkSheets("Tabelle1").Range("B20") = ThisWorkBook.Path den Pfad ausgelesen und in die Zelle Geschrieben.
Dieser lautet zB. C:\Ordner1\Ordner2\ordnera\ordnerb\ordnerc so weit gut, alles klappt, aber um weiterverarbeiten zu können muss ich C:\Ordner1\Ordner2 Austauschen gegen anderes Laufwerk mit Anderen Ordnernamen Die Struktur Ordnera\Ordnerb\Ordnerc soll aber erhalten bleiben. ich würde das Extrahierte Ergebnis mit dem Neuen Laufwerk per Verketten wieder zusammenbasteln und dann ans Macro wieder zurückgeben bzw auslesen lassen.
C: und Ordn1 + 2 sind Variabel und von Datei zu Datei unterschiedlich daher einfach über ein Hilfsblatt welches sowieso vorhanden ist bearbeiten lassen.
aber mir fehlt jegliche Idee für die Zellformel da die Zeichenlänge am Anfang immer unterschiedlich ist fällt Teilen aus.
Hat da jemand eine Idee für mich,

Grüße Kai
:? :? :? Denn Ich weiß nicht was Ich tu. Das aber mit voller Leidenschaft.
Excel Arbeitsumgebung W7 Pro 64 Office 2010 32
Kai der Ahnungslose
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 46
Registriert: 06. Jan 2018, 14:37

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon snb » 09. Jan 2018, 12:47

Ctrl-H
snb
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5976
Registriert: 25. Sep 2014, 16:37

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Kai der Ahnungslose » 09. Jan 2018, 13:17

snb hat geschrieben:Ctrl-H

Was soll das bringen?
dann kann ich den wert auch von Hand ändern.
Ich muss die werte vor " :\ " austauschen (Laufwerk) und Zwischen dem 1 " \ " und dem 2 " \ " (Ordner1).
Diese Werte müssen erneuert werden den Rest des Pfads soll so Übernommen werden wie er ermittelt wurde.
Grüße Kai
:? :? :? Denn Ich weiß nicht was Ich tu. Das aber mit voller Leidenschaft.
Excel Arbeitsumgebung W7 Pro 64 Office 2010 32
Kai der Ahnungslose
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 46
Registriert: 06. Jan 2018, 14:37

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Jonas0806 » 09. Jan 2018, 13:21

Hallo Kai,

Code: Alles auswählen
Option Explicit

Sub x()
    Dim s
   
    s = Split("C:\Ordner1\Ordner2\ordnera\ordnerb\ordnerc", "\")
    s(1) = "NeuerOrdner1"
    s(2) = "NeuerOrdner2"
    s(3) = "NeuerOrdnera"
    Debug.Print Join(s, "\")
End Sub
______________
Gruß Jonas
Benutzeravatar
Jonas0806
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1393
Registriert: 08. Jan 2016, 11:47

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Flotter Feger Gast » 09. Jan 2018, 13:27

Hallöchen,

D9 : 3 'drei Ordner fallen vorne weg
D11: C:\Ordner1\Ordner2\Ordner3\Ordnera\Ordnerb\Ordnerc
D13: G:\Ordner8\Ordner9\Ordner10\

Formel in D15: =D13&TEIL(D11;SUCHEN("#";WECHSELN(D11;"\";"#";D9))+WENN(RECHTS(D13;1)="\";1;0);99)

VG Sabina
Flotter Feger Gast
 

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Kai der Ahnungslose » 09. Jan 2018, 15:38

Danke erstmal für die Anregungen passen aber nicht so wirklich.
habe jetzt erstmal festgelegt das dieses Macro nur in einer Datei zur Verfügung steht dann sind die ersten Zeichen immer die selben und so habe ich das dann mit TEIL eingekürzt und dann mit dem neuen Pfad VERKETTET. so kann ich wenigstens weiter machen und kann das Problem später Lösen.

Falls noch weitere Ideen vorhanden sind nur her damit wichtig ist nur, das der 1 Ordner nach dem Laufwerk variable zeichenlänge hat und dieser Ausgetauscht werden muss. Ich dachte da an so was Wie Zeichen vor \ entfernen oder ab dem wiedergeben

Grüße Kai
:? :? :? Denn Ich weiß nicht was Ich tu. Das aber mit voller Leidenschaft.
Excel Arbeitsumgebung W7 Pro 64 Office 2010 32
Kai der Ahnungslose
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 46
Registriert: 06. Jan 2018, 14:37

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon GastBiber » 09. Jan 2018, 16:20

Moin Kai du Ahnungsloser,

hast du denn mal denn mal die Formeln der flotten Gästin angeschaut?

Dieses

Code: Alles auswählen
...TEIL(D11;SUCHEN("#";WECHSELN(D11;"\";"#";D9))+WENN(RECHTS(D13;1)="\";1;0);99)
-oder, wie ich es geschrieben hätte
...TEIL(D11;FINDEN("§";WECHSELN(D11;"\";"§";D9);1);LÄNGE(D11))


... macht genau das, watt du dir so innig wünscht, nämlich den Rest-Teil ab dem 3ten (oder xten) Backslash rausfieseln.
Mit dem gleichen SUCHEN/FINDEN-Ansatz könntest du natürlich auch den Teil VOR dem 3ten/xten Backslash rausprokeln und für snbs Crtl-H-Ansatz verwenden.

Grüße
Biber
GastBiber
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 739
Registriert: 18. Sep 2014, 18:03

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon DerHoepp » 09. Jan 2018, 17:26

Moin auch von mir,

auch Jonas' Code tut das, was du beschrieben hast (du musst natürlich auch im Direktfenster nachsehen, oder besser noch, nachfragen, wenn du etwas nicht verstehst!). Falls du da anderer Meinung bist, wo weicht das Verhalten von deinem erwarteten Verhalten ab?

Gruß
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6867
Registriert: 14. Mai 2013, 11:08

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Flotter Feger » 09. Jan 2018, 17:32

Hallöchen Biberchen,

Danke schön für deine Unterstützung ! :wink:
... aber ich hätte da noch was an deiner Formel zu kritteln ... wenn in D13 ein Slash ("\") den String abschließt, dann schreibt deine Lösung zwei Slashes in den String ... da stolpert Windows drüber.
Deshalb hab ich auch das WENN() mit eingebaut ... das du so schnöde verschmähst. :razz: Aber dein LÄNGE(D11) habe ich bei mir ergänzt. Das ist mir auf die Schnelle nicht eingefallen. Bin nun mal keine Formel-Maus. :oops:

@ Kai:
Wenn man schon absolut ahnungslos ist, sollte man zumindest ausprobieren, was einem gezeigt wird ... na ja ... dann hält sich Frau bei dem Ahnungslosen eben zukünftig zurück. :roll:
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Benutzeravatar
Flotter Feger
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1658
Registriert: 24. Okt 2016, 16:40

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Gast » 09. Jan 2018, 17:49

Moin Flottfegerchen,

ich habe deine elegante Ergänzung zur Vermeidung eines doppelten Backslashes durchaus gesehen, dachte dann aber:
Hey, beim neuen Ziel-Root-Pfad kann der TO doch wohl per Konvention sicherstellen, dass der entweder immer mit abschliessendem Backslash oder immer ohne einen solchen bereitsteht.
Dann braucht man nicht die Formel aufblähen.
Außerdem... da wo ich herkomme, machen wir keinen Unterschied zwischen ein oder zwei Backslashes in einem Pfad.
(bei einem DIR("C:\Users\Biber\Desktop\*.lnk") kommt dasselbe heraus wie bei einem DIR("C:\Users\Biber\\Desktop\*.lnk") ).

Wenn du dein Excel nicht bei NanuNana oder TeDi gekauft hast, sollte es auch bei dir Banane sein.

Grüße
Biber
Gast
 

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Flotter Feger » 09. Jan 2018, 18:02

Hey Biberchen,

wollte dich wirklich nicht verärgern ... meinem 5 € Office 2016 Pro Plus von Penny, ist das auch völlig egal ... aber mein WINDOWS (momentan noch 7 Ultimate) stolpert über den doppelten Backslash und schmeißt eine Fehlermeldung.
Hab ich aber schon geschrieben
... da stolpert Windows drüber.

Und da ich nicht wusste, was der TE mit dem String genau vorhat, hab ich eben versucht das Kai-Sicher zu machen. :wink:

Sei mir bitte wieder gut ... ja ? :oops:
VG Sabina

bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Benutzeravatar
Flotter Feger
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1658
Registriert: 24. Okt 2016, 16:40

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Gast » 09. Jan 2018, 18:15

Moin meine Lieblingsfegerin,

niemals könntest du mich verärgern...*wimpernklapp mit scheuem Augenaufschlag*

ich geb dir ja recht - sauberer ist es natürlich, einen Doppelbackslash zu vermeiden.
Hauptgrund, warum ich das aber für "an der falschen Stelle korrigiert" halte: s.o.
Ich setze 3 Goldtaler plus den rechten Arm meines Cheffes darauf, dass auch der ahnungsverschonte Kai es hinbekommt, in seinem Prozess sicherzustellen, dass der neue Ziel-Root-Pfad an der frühestmöglichen Stelle "normiert" wird, d.h. ggf. nach dem Bekanntwerden in seinem Sub/seiner Function mit einem abschliessenden Backslash ausgestattet wird.

Irgendwelche festen Punkte im Raum/im Code muss es doch geben, und einer davon ist doch die Coder-Entscheidung "wenn ich mit Pfaden hantiere, dann haben die immer (k)einen abschliessenden Backslash."
Das sollte schon einheitlich sein und nicht in jedem neuen Sub/jeder neuen Function wieder zufällig.

Grüße
Biber
Gast
 

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon Kai der Ahnungslose » 09. Jan 2018, 22:02

Hallöchen,
ist aber echt Toll wie ihr euch bemüht meiner Ahnungslosigkeit Beine zu machen,
aber es ist Tatsache das die Formel vom Flotten F. bei mir nicht läuft. Grund hierfür Die Anpassung klappt nicht da ich sie offensichtlich nicht verstehe. Ich hab das so im Orginal Übernommen und auch ein Extra Tabellenblatt mit genau Ihren Benutzten Zellen um Schreibfehler Auszuschliessen .
Die Aktion die Dahinter steht ist folgende Es wird eine Datei Erstellt mit allem Was ich so zum Arbeiten Braucht alles Perfekt mit VBA und nur Narrensichere Userformeingaben, damit keiner von Meinen SuperDaus in dem TabellenBlatt rumspielt. Und ich glaube zu wissen das Ihr jetzt genau wisst von Wem ich rede.
Jetzt Liegt das Blatt friedlich auf dem Server und Wartet darauf Mit Daten gefüllt zu werden. Dort Liegt es im 5.ten Unterordner. Die Ordner darüber sind eine Genau Definierte Ordnerstruktur welche Überall Gleich aussehen soll Weil dort noch viele andere Blätter liegen die zu dem Projekt gehören, und diese auch gleich Quellen und Ziele für Andere Schritte sind dieses Habe ich alles mit Relativen Pfadangaben gelöst und auch das funktioniert hervorragen da ich dazu immer nur bis zum 3. Unterordner zurückgehen muss.
Jetzt hole ich die Datei zum Bearbeiten ab Da ändert sich das Laufwerk da ich mir die Ganze Struktur auf meinem Rechner hole mal direkt oder halt per VPN aber immer über die Userform um einfach Kopierfehler auszuschliessen. Dort landet sie dann auf C in den "_ZurVorbereitung" Ordner. Danach holt sie sich ein Mitarbeiter auf seinem Rechner nach C "_Aufträge" . und Schickt sie von Da zurück auf dem Server In die Autragsweiterverarbeitung u.s.w.
Deswegen Ändern sich Permanent die Laufwerke und die ersten Ordner. Zwischdurch werden die Dateien auch noch Auf ein Backup Laufwerk Kopiert damit wenn...
Ich weiss jetzt was Ihr sagen wollt Falsches Forum geh zu "Access" als ich damals damit Anfing so was zu Bauen war das zu kompliziert und wenn dann mal was an der Struktur geändert oder hinzugefügt wurde was man vorher nicht auf den Plan hatte wurde es kriminell komisch und nichts ging mehr.
Das Projekt ist jetzt schon ziemlich gewachsen und in der Funtionalität recht weit so das ich das jetzt auch so weiterverfolge.
Auch Die Cloudlösung kommt schon wegen Chef nicht in Frage (Spionage, NSA, Chinesen, und was da nicht noch so in seinem Kopf rumschwirrt, jedenfalls bauen wir keine Atomkraftwerke oder anderes Technisches KnowHow was von Internationalem Interesse sein Könnte).
Also um nochmal zurückzukommen deshalb ist es für mich so interessant dieses Im HilfsBlatt mit einer Formel zu lösen wo ich das "\" als Bezugspunkt nehmen kann und alles davor entfernen oder halt ab da nehmen kann. Und die Formel vom Flotten F. hab ich beim Besten Willen nicht verstanden. Selbst das zerlegen um Herauszufinden was die Variable ist und wann das "\" ein Bezugspunkt ist ist mir nicht gelungen.
Ach und natürlich sollte sie "Kai sicher" sein und ich glaub das wird das schwierigste.
So jetzt bin ich weiter Ahnungslos aber ich las mich deswegen nicht einsargen sondern Probiere weiter bis im Tunnel Licht zu sehen ist.

Viele liebe Grüße an euch alle hier
:? :? :? Denn Ich weiß nicht was Ich tu. Das aber mit voller Leidenschaft.
Excel Arbeitsumgebung W7 Pro 64 Office 2010 32
Kai der Ahnungslose
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 46
Registriert: 06. Jan 2018, 14:37

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon DerHoepp » 09. Jan 2018, 22:38

Nabend,

Ohne den gesamten Prozess bewerten zu wollen:
aber es ist Tatsache das die Formel vom Flotten F. bei mir nicht läuft.

Was funktioniert nicht? Welche Eingabe tätigst du, was ist das Ergebnis was du erhältst? Welches Ergebnis erhältst du stattdessen? Kannst du uns den "Fehler" anhand einer Beispieldatei zeigen (Bitte nicht das komplexe Original, sondern ein auf genau dieses eine Problem reduziertes Beispiel.)?

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6867
Registriert: 14. Mai 2013, 11:08

Re: suche Idee um einen Einen Pfad in Ordnern zu zerlegen

Beitragvon 1Matthias » 09. Jan 2018, 22:41

Moin!
Mal als Frage, wenn du den Pfad per VBA in die Zelle schreibst, warum zerlegst du ihn dann nicht vorher und schreibst nur den Teil der fest bleiben soll (so wie Jonas es schon dargestellt hat)?
Da entfällt auch, das Ganze noch durch eine Formel zu nudeln.
Hier mal noch eine weitere Möglichkeit:
Code: Alles auswählen
Sub pfad_einkürzen()

MsgBox ThisWorkbook.FullName

temp = Split(ThisWorkbook.FullName, "\")
For i = 3 To UBound(temp)
    kurzerpfad = kurzerpfad & temp(i) & "\"
Next
MsgBox kurzerpfad 'noch mit abschließendem \, das müsste ggf. noch weg

'hier die Formel vom Flotten Feger in einer VBA Variante
kurzerpfad = Right(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - InStrRev(Replace(ThisWorkbook.FullName, "\", "#", , 3), "#"))

MsgBox kurzerpfad
End Sub


VG
1Matthias
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 439
Registriert: 15. Aug 2017, 18:36

Nächste

Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste