Установка пути в качестве переменной в VBA

#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 как диапазон, а не как вариант.