Я новичок в VBA, поэтому надеюсь, что вы мне поможете с этим. Я хочу создать папку внутри данного пути. Внутри папки я хочу подпапку. Имя папки будет указано в столбце A, а подпапка - в столбце B рабочего листа Excel. Путь будет в столбце C.
Я хотел бы иметь возможность щелкнуть ячейку в столбце D, которая активирует макрос, который затем создаст папку и подпапку. Я надеялся, что смогу добиться этого с помощью этого кода:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("c2:c10000")) Is Nothing Then Call CreatePath
End Sub
Поэтому мне нужна функция CreatePath. Когда ячейка выбрана в столбце D, функция CreatePath должна идентифицировать строку выбранной ячейки из столбца D, взять из этой строки соответствующее имя папки, подпапки и пути и создать папку и подпапку. Есть идеи, как должна выглядеть эта функция? Пожалуйста, помните, что я начал «играть» два дня назад с VBA, поэтому мои ноу-хау очень ограничены. Спасибо всем за вашу поддержку.
Всего 1 ответ
Вы могли бы сделать это так.
Sub CreateFoldersandSubFolders()
'Execute next line in case of error.
On Error Resume Next
'Loop through all the cells in column 1 in Active Sheet.
For i = 1 To ActiveSheet.UsedRange.Rows.Count
'Name of the Folder
sFolderPath = Cells(i, 1) 'Replace This.Workbook.Path with any location Example "C:" & Cells(i,1)
'Creating Folder Using Shell Function
Shell "cmd /c mkdir """ & sFolderPath & """", vbHide 'It will Execute Dos Command and use MKDIR to Make Directory of sFolderPath Value
'To continue the Loop
Next i
'Displaying Message
MsgBox "Folders Created"
End Sub
Моя настройка:
После запуска кода: