Vba 从Excel列表创建文件夹

Vba 从Excel列表创建文件夹,vba,excel,Vba,Excel,我在excel表格B2-B40中有地址。C2-C40中的数字。这两列的颜色都是红色和绿色,在不同的行中 我正在努力实现的是: 创建具有不同编号的主文件夹(C列)。每个主文件夹具有不同的唯一编号2、3、5、8等 在每个主文件夹中,有两个不同的文件夹,红色和绿色。i、 e.在2个单独的文件夹内,红色和绿色 在编号的主文件夹内,然后是红色(或绿色)文件夹,该地址的文件夹(位于其下)。示例B2,地址为124 X车道,C2列中对应的编号为9。B2和C2均为红色 因此,文件夹应创建为: “9”在“红色”在“

我在excel表格B2-B40中有地址。C2-C40中的数字。这两列的颜色都是红色和绿色,在不同的行中

我正在努力实现的是:

  • 创建具有不同编号的主文件夹(C列)。每个主文件夹具有不同的唯一编号2、3、5、8等

  • 在每个主文件夹中,有两个不同的文件夹,红色和绿色。i、 e.在2个单独的文件夹内,红色和绿色

  • 在编号的主文件夹内,然后是红色(或绿色)文件夹,该地址的文件夹(位于其下)。示例B2,地址为124 X车道,C2列中对应的编号为9。B2和C2均为红色

  • 因此,文件夹应创建为: “9”在“红色”在“124 x车道”内

    因此,循环将读取所有地址并创建主文件夹,在这两个颜色文件夹内,在这两个颜色文件夹内,以及在所有相应的地址中创建颜色和编号

    我所做的是(VBSCRIPT)

    它所做的是创建了所有带有地址的文件夹,但都在测试文件夹内。但是我不能根据我的需要修改它

    请帮忙

    提前谢谢


    您需要添加/更改类似的内容。您根本没有查看C列的值,所以使用行/列引用的循环可能更有意义

    Sub Make_Directory()
    
    Dim Path As String
    Path = "C:\test"
    MkDir Path
    Path = Path & "\"
    
    On Error Resume Next
    
    For c = 2 to 40
        MkDir Path & Sheets("Sheet1").Cells(c, 3).Value
        If Sheets("Sheet1").Cells(c,2).Interior.Color = RGB(255,0,0) Then
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Red"
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Red\" & Sheets("Sheet1").Cells(c, 2).Value
        Else
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Green"
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Green\" & Sheets("Sheet1").Cells(c, 2).Value
        End If
    Next c
    On Error GoTo 0
    
    End Sub
    

    非常感谢你的回答。当我试图运行这段代码时,它显示了一个输入“宏名”的窗口。当我运行我以前的代码时,没有这样的窗口。为什么会发生这种情况?我重新添加了您的子名称,因此根据您复制和粘贴的内容,这可能会导致该错误。抱歉,我输入了一个错误,并将您的每个子名称都留在了那里。已更新。没错…MkDir必须具有before路径。再次更新。太好了。它创建了文件夹,但不在测试文件夹内。但在他们之外。
    Sub Make_Directory()
    
    Dim Path As String
    Path = "C:\test"
    MkDir Path
    Path = Path & "\"
    
    On Error Resume Next
    
    For c = 2 to 40
        MkDir Path & Sheets("Sheet1").Cells(c, 3).Value
        If Sheets("Sheet1").Cells(c,2).Interior.Color = RGB(255,0,0) Then
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Red"
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Red\" & Sheets("Sheet1").Cells(c, 2).Value
        Else
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Green"
            MkDir Path & Sheets("Sheet1").Cells(c, 3).Value & "\Green\" & Sheets("Sheet1").Cells(c, 2).Value
        End If
    Next c
    On Error GoTo 0
    
    End Sub