Мне нужно создать папки, содержащие определенные записи полей Excel:

Кроме того, мне нужно добавить дату к имени папки на основе этой записи

Поэтому, если у меня есть таблица Excel, приведенная выше, мне понадобится следующий набор папок, которые будут созданы в одном каталоге:

Возможно ли это с помощью макроса? Кроме того, в случае, если я добавлю еще одну запись, как я буду создавать другую папку только для этой записи ; например я добавляю другой проект CWO-1106:

По сути, я бы хотел обновлять лист Excel и создавать папки только для новых записей.

Любая помощь будет оценена. Спасибо!

1 ответ1

2

Вот макрос.

  • Убедитесь, что электронная таблица с идентификатором проекта и датами начала отображается (выбрана) перед запуском макроса.
  • Установите папку, где вы хотите создать эти папки в ParentFolderPath

    Sub CreateFolders()
    
    'Variable definations
    Dim FolderListRange As Range
    Dim FolderRange As Variant
    Dim FolderName As String
    Dim ParentFolderPath As String
    
    On Error GoTo Handle
        ' Set the Folder where the individual folders should be created
        ParentFolderPath = "Folders"
    
        Set FolderListRange = ActiveSheet.Range("A2:A64000").SpecialCells(xlCellTypeConstants)
    
        For Each FolderRange In FolderListRange
            If FolderRange.Offset(0, 1).Value = "" Then GoTo Continue
    
            FolderName = ParentFolderPath & "\" & FolderRange.Value & "-" & Format(FolderRange.Offset(0, 1).Value, "dd-mm-yyyy")
    
            If FileSystem.Dir(FolderName, vbDirectory) = vbNullString Then
                FileSystem.MkDir FolderName
            End If
    
    Continue:
        Next
    
    Handle:
    End Sub
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .