Я пытаюсь написать макрос, который перебирает все файлы в папке m, затем открывает его и ищет слова, начинающиеся со слова "Страница" в столбце K, а затем перемещает его в следующий столбец. Код, который я использую

Public Sub Loop_through_folder_page_no()
'DECLARE AND SET VARIABLES
Dim wbk As Workbook
Dim Filename As String
Dim Path As String
Path = "C:\xlsFolder\"
Filename = Dir(Path & "*.xlsx")

'--------------------------------------------
'OPEN EXCEL FILES
 Do While Len(Filename) > 0  'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & Filename)
'
Dim K As Range
Dim r As Range
Set K = Intersect(ActiveSheet.UsedRange, Range("K:K"))

  For Each r In K   'ERRORS HERE WITH Runtime error 1004 Application-defined or object-defined error
    If Left(r.Text, 4) = "Page" Then
        r.Copy r.Offset(0, 1)
        r.Clear
    End If
  Next r

ActiveWorkbook.Save


wbk.Close True
Filename = Dir
Loop
End Sub

Этот код дает ошибку. Я не могу понять, что с ним не так.

1 ответ1

0

попробуйте activesheet.range("K:K") вместо простого диапазона. У вас есть только один лист в ваших файлах / вы уверены, что нужный лист выбран? Пожалуйста, проверьте еще раз, действительно ли существует пересечение используемого диапазона и столбца К.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .