2014-06-22 4 views
0

Im пытается получить макрос, чтобы перебрать все файлы в папке и запустить макрос на нем. До сих пор у меня есть:Макроцикл через все файлы в папке

Sub ProcessFiles() 
    Dim Filename, Pathname As String 
    Dim Wb As Workbook 

    Pathname = "C:\Trading\TICK\PROBAB\DATA\CURRENT\" 
    Filename = Dir(Pathname & "*.xlsm") 
    Do While Filename <> "" 
     Workbooks.Open (Pathname & Filename) 
     Application.Run "storage.xlsm!ALL" 
     Filename = Dir() 
    Loop 


End Sub 

Проблема в том, что после первой итерации она терпит неудачу. Я знаю, что это как-то связано со вторым макросом, как будто я его вынимаю, все файлы в папке будут открыты.

+1

** Я знаю, что это связано со вторым макросом ** Тогда, возможно, вы должны показать этот код? –

+0

@VincentRamdhanie Что бы это получилось? если OP удаляет это, тогда нет структуры Loop. –

+1

Кроме того, «не получается», что вы имеете в виду? Есть ли ошибка? И если да, то какая строка вызывает ошибку и какое * конкретное сообщение об ошибке? –

ответ

0

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

Я решил проблему, создав новый файл с тем же макросом. Сейчас он работает

Смежные вопросы