Макрос Excel VBA «случайным образом» называет листы как «0», а не как указанный текст - PullRequest
0 голосов
/ 20 сентября 2019

Извиняюсь, если это слишком просто, но это мой 4-й пост, и я все еще новичок в кодировании и VBA.

Я создал макрос, который проходит через папку (и все подпапки внутри) и возвращает листинг на другой вкладке (которая затем выполняет серию тестов по имени файла, которое не имеет отношения к вопросу).Макрос можно запускать бесконечное количество раз в одной и той же книге и просто создавать новую вкладку для каждой папки, в которой он запущен (макрос запускается с помощью кнопки на самой первой вкладке, «Hometab»).

При запуске макроса открывается диалоговое окно для ввода пути к папке.Затем имя папки извлекается из пути (с помощью функции LEFT / MID / SUBSTITUTE) и вставляется в таблицу («SummaryTable») на Hometab, и это также имя, используемое для созданной вкладки.

В большинстве случаев вкладка имеет правильное имя, однако иногда (и то, что кажется совершенно случайным) вместо нее вкладка называется "0".

Кто-нибудь знает, почему это может происходить только иногда, но не постоянно?Что еще более важно, кто-нибудь знает, как это исправить?

Соответствующее извлечение кода выглядит следующим образом:

Sub ListFiles()

Dim objFSO As FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim strFile As String
Dim NextRow As Long
Dim LR As Long
Dim FolderPath As String
Dim SheetName As String

'Specify the path to the folder

FolderPath = InputBox("Please enter the folder path for the folder you wish to test")

If FolderPath = "" Then Exit Sub

With ActiveSheet.ListObjects("SummaryTable").ListRows.Add
.Range(1) = FolderPath

End With

ThisWorkbook.Unprotect "Password2019@@"

SheetName = Cells(Cells(1048576, 3).End(xlUp).Row - 1, 3).Value2

Sheets.Add(After:=Sheets(Sheets.Count)).Name = SheetName

Спасибо всем:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...