Ordner aus Zellinhalten erstellen
15.05.2018 15:09:15
fcs
Hallo Maris,
die Formel
=VERKETTEN(A1;"-";B1)
in Zelle A1 funktioniert nicht, denn es gibt einen Zirkelbeziug.
Es ist ja auch kein Problem die Zellinhalte im Makro zu verketten.
Grundsätzlich dürfen einige Zeichen wie: * ? : < > etc. in den Zellen aus denen der Ordnername zusammengesetzt wird nicht vorkommen. Ebenso Zeichen \
Nachfolgend dein Makro angepasst und erweitert um Fehlerbehandlung.
Gruß
Franz
Sub OrdnerAnlegen()
Dim Zeile As Long, wks As Worksheet, strOrdner As String, strBasisOrdner As String
' Ordner in Zelle C1 muss vorhanden sein !!!
On Error GoTo Fehler
Set wks = ActiveSheet
With wks
strBasisOrdner = .Range("C1").Text
If Right(strBasisOrdner, 1) "\" Then strBasisOrdner = strBasisOrdner & "\"
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
strOrdner = strBasisOrdner & .Cells(Zeile, 1).Text & "-" & .Cells(Zeile, 2).Text
MkDir strOrdner
Next_Zeile:
Next Zeile
End With
Fehler:
With Err
Select Case .Number
Case 0
Case 52, 76 'Dateiname oder -Nummer falsch / Pfad nicht gefunden
If MsgBox("Zeile: " & Zeile & vbLf _
& "Ordnername: " & strOrdner & vbLf _
& "Fehler-Nr.: " & .Number & vbLf _
& .Description & vbLf & vbLf _
& "Nächste Zeile abarbeiten?", _
vbOKCancel + vbQuestion, "Fehler Makro: OrdnerAnlegen") = vbOK Then
Resume Next_Zeile
End If
Case 75 'Fehler bei Zugriff auf Datei (Ordner schon vorhanden)
Resume Next_Zeile
Case Else
MsgBox "Zeile: " & Zeile & vbLf _
& "Ordnername: " & strOrdner & vbLf _
& "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehler Makro: OrdnerAnlegen"
End Select
End With
End Sub