Clever-Excel-Forum

Normale Version: Ordner Name Fehler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Excel Profis,

ich habe ein kleines Problem. Ich habe ein Code was von Pfad: "P:\Daten\Trockenbau Vorlagen\(Bst. Nr)_(Bst. Name)" einen Ordner mit Namen "(Bst. Nr)_(Bst. Name)" kopiert und im 
Pfad: "P:\Daten\B0533084_KÜHBACHER\Baustellen\" einfugt und umbenennt wie  der Inhalt von Zelle "A4" ist. in der Zelle "A4" steht Folgendes: "8200032_Augsburg, Stauferstr.6".

Das funktioniert wunderbar nur wenn in Zelle "A4" zB ein "-" oder "Leerzeichen" am ende ist dann meldet er Fehler und lägt den Ordner nicht an. also er reagiert empfindlich aus - oder , oder Leerzeichen warum auch immer. bitte um Hilfe (siehe Code unten).

Danke voraus

Code:
Private Sub Makro2()

Dim filesystem As Object
Dim StrName As String
StrName = Range("A4")
If MsgBox("Ordner beim Manuel Kühbacher mit namen:  " & StrName & "  anlegen?", vbYesNo) = vbYes Then

Set filesystem = CreateObject("Scripting.FileSystemObject")
filesystem.CopyFolder "P:\Daten\Trockenbau Vorlagen\(Bst. Nr)_(Bst. Name)", "P:\Daten\B0533084_KÜHBACHER\Baustellen\" & StrName
Set filesystem = Nothing

MsgBox "Ordner mit namen:  " & StrName & "  wurde angelegt!"

Else
MsgBox "ordner wurde nicht angelegt!!!"

End If


End Sub
Hallöchen,

wenn es an den Leerzeichen am Anfang oder Ende liegt - nimm Trim zum entfernen.
nein es kommt Fehler wenn es zB so ist 8200039_München, E-platz oder 8200039_München, E-platz" "
Hallöchen,

also, in der Zelle steht das?

Arbeitsblatt mit dem Namen 'Tabelle1'
A
28200039_München, E-platz" "
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
nein in der Zelle sind 3 Zellen verkettet und es ergibt einen Namen wie zB "8200037_Ort, Straße" aber wen in der Straße "-" wie beim Beispiel E-Platz oder aus versehen am ende Leerzeichen steht dann kommt Debugger
Hallo,
StrName = Replace(Trim(Range("A4").Value), "-", "")
Gruß Uwe
Hallöchen,

ich bin nach wie vor der Überzeugung, das Trim einen Teil der Fehler beseitigt.

Hier mal in zwei Schritten:

StrName = Trim(Range("A4")).Value
StrName = Trim(Left(StrName, Len(StrName)-1) & Replace(Right(StrName,1), "-", ""))

Das ist aber auch noch nicht 100%ig

hier klappt es:
"A4 "
"A4-"
"A4- " (Anzahl Leerzeichen egal)
"A4 -" (Anzahl Leerzeichen vor dem "-" egal)

hier z.B. nicht
"A4--" wird zu "A4-"
oder
"A4 - - " wird zu "A4 -"
Wenn solche Fälle auftreten können, könnte man diese z.B. in einer Schleife entfernen.

... hier noch die Schleife

StrName = Trim(Range("A4")).Value
Do While Right(StrName, 1) = "-"
StrName = Trim(Left(StrName, Len(StrName) - 1) & Replace(Right(StrName, 1), "-", ""))
Loop
Danke das hat gepasst
Hallöchen,

ich trotzdem nochmal. Mein Ansatz würde #1 erfüllen, Uwe's Ansatz #5 - falls Du alle "-" in der Zeichenkette entfernen willst, also nicht nur in der Straße, sondern auch im Ort oder wo auch immer. Hatte ich vorhin nicht erwähnt.

Vielleicht solltest Du aber auch mal schauen, warum die "-" innerhalb einer Straße oder ggf. einem Ort stören. Eigentlich gehören die ja dort hin und ein "-" ist bei einem Ordnernamen auch kein verbotenes Zeichen.