Sub CreateFolders()
Dim rng As Range, Item As Range
Dim ws As Worksheet
Dim Drive As String, SheetName As String
Dim StartRow As Long
'********************************************************************
'*****************************SETTINGS*******************************
Drive = "C:\"
SheetName = "Sheet1"
StartRow = 2
'********************************************************************
Set ws = ThisWorkbook.Worksheets(SheetName)
Set rng = ws.Range(ws.Range("A" & StartRow), ws.Range("A" & ws.Rows.Count).End(xlUp))
For Each Item In rng
MakeDirectory FolderPath:=Drive & _
Folders(Target:=ws.Cells(Item.Row, 1).Resize(1, ws.Cells(Item.Row, ws.Columns.Count).End(xlToLeft).Column))
Next
End Sub
Sub MakeDirectory(ByVal FolderPath As String)
Dim SubFolders As Variant
Dim MakeFolder As String
SubFolders = Split(FolderPath, "\")
For i = 0 To UBound(SubFolders)
Select Case i
Case 0
MakeFolder = SubFolders(i) & "\"
Case 1
MakeFolder = MakeFolder & SubFolders(i)
Case Else
MakeFolder = MakeFolder & "\" & SubFolders(i)
End Select
If Dir(MakeFolder, vbDirectory) = vbNullString Then MkDir MakeFolder
Next
End Sub
Function Folders(ByVal Target As Range, Optional ByVal PathSeparator As String = "\") As String
Folders = Join(Application.Transpose(Application.Transpose(Target)), PathSeparator)
End Function