Как я могу исправить свой код, чтобы применить его ко всем листам? - PullRequest
0 голосов
/ 30 марта 2020

У меня есть книга Excel с почти 70 листами. Мой код состоит в том, чтобы проверять ячейку (E8) для каждого листа и проверять, есть ли у того же имени папка, если не создавать ее и go на следующий лист и так далее. Но мой код работает только для 1-го листа.

Вот код:

Sub CreateFolder()
Dim WS As Worksheet
Dim Path As String
Path = "C:\Payslips\" & [E8]

For Each WS In ActiveWorkbook.Sheets
If Len(Dir(Path, vbDirectory)) = 0 Then
    MkDir Path
End If
Next WS
End Sub

Мне нужна ваша помощь, пожалуйста, чтобы исправить мой код для всех листов.

Спасибо заранее. Исса

1 Ответ

0 голосов
/ 31 марта 2020

Вот как бы я это сделал. Я добавил проверку для вашего каталога root, так как, если он не существует, ваш код потерпит неудачу. Затем я переместил путь и ссылку на ячейку внутрь l oop.

Sub CreateFolder()
Dim WS As Worksheet
Dim Path As String
Path = "C:\Payslips\"

If Len(Dir(Path, vbDirectory)) = 0 Then
    MkDir Path
End If

For Each WS In ActiveWorkbook.Sheets
If Len(Dir(Path & WS.Range("E8"), vbDirectory)) = 0 Then
    MkDir Path
End If
Next WS
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...