【问题标题】:Folders creation from Excel list从 Excel 列表创建文件夹
【发布时间】:2016-05-06 17:35:21
【问题描述】:

我在 Excel 工作表 B2-B40 中有地址。 C2-C40 中的数字。这两列都用红色和绿色着色,在不同的行中。

我想要完成的是:

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

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

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

所以该文件夹应创建为: “9”在那个“124 x 车道”里面的那个“红色”里面。

因此循环将读取所有地址并创建主文件夹,在这两个颜色文件夹内以及所有与颜色和数字对应的地址。

我所做的是 (VBSCRIPT)

ub Make_Directory()
Dim MyRange As Range
Dim Path As String
Path = "C:\"
MkDir Path & "test"
Path = "C:\test\"
'The next line is your list of names
Set MyRange = Sheets("Sheet1").Range("B2:B40")
On Error Resume Next
For Each c In MyRange
MkDir Path & c.Value
Next
On Error GoTo 0
End Sub

它所做的是创建了所有带有地址的文件夹,但都在测试文件夹中。但我无法根据我的需要对其进行修改。

请帮忙。

提前致谢。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您需要添加/更改类似的内容。您根本没有查看 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
    

    【讨论】:

    • 非常感谢您的回答。当我尝试运行此代码时,它显示了一个输入“宏名称”的窗口。当我运行我之前的代码时,没有这样的窗口。为什么会这样?
    • 我添加了您的子名称,因此根据您复制和粘贴的内容,可能会导致该错误。
    • 对不起,我打错了,把你的 Each 留在了那里。已更新。
    • 没错...MkDir 必须有 before 路径。再次更新。
    • 太棒了。它创建了文件夹,但不在测试文件夹中。但在他们之外。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2021-12-21
    相关资源
    最近更新 更多