【问题标题】:Create multiple folders with Excel macros using VBA使用 VBA 使用 Excel 宏创建多个文件夹
【发布时间】:2020-07-21 07:25:32
【问题描述】:

我需要帮助创建用于在用户桌面 MRO_FOLDERS 子文件夹中创建多个文件夹的宏。

我有一列 Main Folder 包含主要文件夹列表。在每个 Main Folder 中,我需要创建列 SubFolder level 1

中提到的所有子文件夹

例如:对于文件夹A我需要创建

  • 桌面\文件夹 A\SUB1
  • 桌面\文件夹 A\SUB2
  • 桌面\文件夹 A\SUB3

我的编程知识很差。请在下面查看我当前版本的脚本

Sub MakeDirs()
Dim Fldrpath As String
    Fldrpath = Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\"
If Dir(Fldrpath, vbDirectory) = "" Then
MkDir Fldrpath
End If
For Each cell In Selection
 MkDir Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\" & cell.Value
 MkDir Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\" & cell.Value & "\GANTT Charts"
 MkDir Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\" & cell.Value & "\Induction"
 MkDir Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\" & cell.Value & "\Photos"
 MkDir Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\" & cell.Value & "\Planning Meetings"
Next cell
 'Display Message
    MsgBox "New folder >MRO_FOLDERS< have been created successfully on your Desktop !", vbInformation, "VBAF1"

End Sub

哪个工作,但如果我想添加或删除第 1 级子文件夹,我需要编辑宏

【问题讨论】:

  • 我会说您正确地提出了这个问题,但是您没有使用任何代码(例如 the last time)来支持它,所以人们看不到您为此付出了多少努力。跨度>

标签: excel vba


【解决方案1】:

类似这样的:

Sub MakeDirs()
    Dim Fldrpath As String, ws As Worksheet, cell As Range, sf As Range
    
    Set ws = ActiveSheet
    
    Fldrpath = Environ$("USERPROFILE") & "\Desktop\MRO_FOLDERS\"
    If Dir(Fldrpath, vbDirectory) = "" Then
        MkDir Fldrpath
    End If
    
    'assuming you don't have that second list in Col A
    For Each cell In ws.Range("A2:A" & ws.Cells(Rows.Count, 1).End(xlUp).Row).Cells
        MkDir Fldrpath & cell.Value
        'create subfolders
        For Each sf In ws.Range("B2:B" & ws.Cells(Rows.Count, 2).End(xlUp).Row).Cells
            MkDir Fldrpath & cell.Value & "\" & sf.Value
        Next sf
    Next cell
    
    'Display Message
    MsgBox "New folder 'MRO_FOLDERS' has been created successfully on your Desktop !", _
                vbInformation, "VBAF1"

End Sub

【讨论】:

    猜你喜欢
    • 2016-08-13
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 2016-06-14
    • 1970-01-01
    • 2015-01-18
    相关资源
    最近更新 更多