1

現在、ディレクトリを設定しようとしており、vba コードを作成して、Excel スプレッドシートからディレクトリを作成しようとしています。

  • Column Aワークシートの に、必要なフォルダー名がリストされています。
  • これは、最終的なディレクトリをどのように見せたいかの例です。

    1. VIC\ブランチ 1\フォルダ A
    2. VIC\ブランチ 1\フォルダ B
    3. VIC\ブランチ 2\フォルダ A
    4. VIC\Branch 2\Folder B など

州およびブランチ レベルのフォルダを作成できましたが、すべてのブランチ フォルダに同じ 5 つのフォルダを作成することに行き詰まっています。vb コードがこれらのフォルダーを作成するのを手伝ってくれる人がいれば、それは最もありがたいことです。

以下は、各状態ディレクトリでブランチ フォルダーを作成するために使用したコードです。各状態リストに対して実行し、ディレクトリの場所を変更しました

ありがとうございました

Sub MakeFolders()
Dim xdir As String
Dim fso
Dim lstrow As Long
Dim i As Long
Set fso = CreateObject("Scripting.FileSystemObject")
lstrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To lstrow
xdir = "C:\Users\Nikki\Shared\VIC\" & Range("A" & i).Value
If Not fso.FolderExists(xdir) Then
fso.CreateFolder (xdir)
End If
Next
Application.ScreenUpdating = True
End Sub
4

1 に答える 1

0

サブフォルダーに配列を使用し、第 1 レベルのフォルダーごとにそれをループします。

この行
vSubfolders = Array("A", "B", "C") を変更して、第 2 レベルのフォルダーを追加/削除します

Sub MakeFolders()
Dim xdir As String
Dim fso As Object
Dim lstrow As Long
Dim i As Long
Dim vSubfolders
Dim vSubFolder

vSubfolders = Array("A", "B", "C")
Set fso = CreateObject("Scripting.FileSystemObject")
lstrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To lstrow
xdir = "C:\Users\Nikki\Shared\VIC\" & Range("A" & i).Value
If Not fso.FolderExists(xdir) Then
fso.CreateFolder (xdir)
End If
For Each vSubFolder In vSubfolders
If Not fso.FolderExists(xdir & "\" & vSubFolder) Then
fso.CreateFolder (xdir & "\" & vSubFolder)
End If
Next
Next
Application.ScreenUpdating = True
End Sub
于 2013-06-13T05:26:17.540 に答える