#excel #vba
Вопрос:
Я довольно новичок в мире VBA, но у меня возникли проблемы с небольшой частью гораздо большего кода для электронной таблицы Excel. Моя проблема в том, что я получаю «Недопустимый вызов процедуры или аргумент» при попытке использовать набор ячеек в качестве переменной, а затем подключить эту переменную к пути. Это работает, когда я устанавливаю oFSO.GetFolder(«Фактический путь») как фактический путь, но когда я устанавливаю переменную, равную ячейке, которая равна пути, это выдает мне эту ошибку. Заранее спасибо!!
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Dim POSMVPath As Variant
Set POSMVPath = Range("C30").Value
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(POSMVPath)
Sheets.Add
ActiveSheet.Name = "DeleteSheet"
For Each oFile In oFolder.Files
Cells(i 1, 1) = oFile.Name
i = i 1
Next oFile```
Комментарии:
1. Снимите
Set
сSet POSMVPath = Range("C30").Value
.2. Эй, спасибо за ответ. Я просто попробовал это, и я все еще получаю ту же «ошибку времени выполнения ‘5’: недопустимый вызов процедуры или аргумент» в строке с чтением
Set oFolder = oFSO.GetFolder(POSMVPath)
я напечатал POSMV переменной, и это значение его правильно и как ни странно иногда, если я запускаю его как свой собственный порядок, он будет делать это весь путь до конца без ошибок, если я шаг через него, но он терпит неудачу, когда я пытаюсь запустить его на одном дыхании.3. Эй, поцарапай, что я идиот. Я не активировал нужный лист до этой части макроса. Хотя спасибо за вашу помощь.
Ответ №1:
Добрый день. Dim POSMVPath Как вариант при определении этой переменной вы должны определить ti как диапазон, а не как вариант.