Excel 运行循环将变量添加到路径名以创建文件夹
我有两个专栏,国家和商业。每个国家可能有4种类型的业务(采矿、卡车运输、航运、航班),每个国家至少有一种业务,例如Excel 运行循环将变量添加到路径名以创建文件夹,excel,vba,directory,Excel,Vba,Directory,我有两个专栏,国家和商业。每个国家可能有4种类型的业务(采矿、卡车运输、航运、航班),每个国家至少有一种业务,例如 Country | Business --------------------- England mining England trucking Spain mining Germany mining Germany trucking Germany shipping Germany flights 我有大约170多个
Country | Business
---------------------
England mining
England trucking
Spain mining
Germany mining
Germany trucking
Germany shipping
Germany flights
我有大约170多个国家的文件夹。我需要为每个国家的特定业务创建文件夹。我的路径有问题。这是代码的一部分。我走的方向对吗
Dim z As Integer
Dim row,col,c As String
ActiveSheet.Range("A2").Select
For row = 2 To maxrows
col = 2
z = col + 1
c = Cells(row, col)
If Len(dir("C:\Users\patelwa\Documents\macr\& c &" & Cells(row, z), vbDirectory)) = 0 Then
MkDir ("C:\Users\patelwa\Documents\macr\& c &" & Cells(row, z))
On Error Resume Next
End If
Next row
我看到的路径是:
“C:\Users\patelwa\Documents\macr\&C&”
“\”
和“/”
是否完全相同(我没有测试)。。。你可能也需要测试一下。正如@hnk所说,也许你可以使用c
和单元格(行,z)
。如果不是真的需要,请选择。但是您可以在这里使用它返回到左上角(以便查看数据)
注意:此代码假定国家/地区名称与文件夹名称匹配…您可能还需要测试当前存在的国家/地区文件夹:如果不匹配,您将收到一个错误(错误恢复时由捕获下一步
)
您可以在之前添加
If Dir("C:/Users/patelwa/Documents/macr/" & c, vbDirectory) = "" Then
MkDir ("C:/Users/patelwa/Documents/macr/" & c)
' On Error Resume Next ' If you want to use that ...
End If
如果需要,创建国家/地区文件夹
最后一个注意事项:检查用于文件夹名称的单元格中没有空格或特殊字符(但我想您已经检查过了)谢谢。这是一个很大的帮助。在windows中“\”是正确的。“&”和“\”当向路径中添加变量以运行循环以检入每个文件夹时,路径中的s使我困惑,不知将它们放在何处。您将我设置为正确的解决方案路径
If Dir("C:/Users/patelwa/Documents/macr/" & c, vbDirectory) = "" Then
MkDir ("C:/Users/patelwa/Documents/macr/" & c)
' On Error Resume Next ' If you want to use that ...
End If