Я написал этот код, и он работает при переходе с одного листа на другой.(Та же рабочая тетрадь).Но когда я перебираю строки из рабочей книги в рабочую книгу, я получаю индекс «Ошибка времени выполнения 9» вне диапазона.
Я несколько раз проверял, соответствуют ли имена файлов в коде, и это не так.Кажется, это проблема.Также, если я в первой части пишу y.sheets («Tavledisplay») вместо листов («Tavledisplay»), отладчик говорит мне, что там есть проблема.Делая это последним способом, он отправляет 1 цикл данных и останавливается на y.sheets("Tavledisplay").Activate
.
Мой код:
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks.Open("C:\Users\u054939\Desktop\Diverse filer\Safecard\Safecardmaster.xlsm")
Set y = Workbooks.Open("C:\Users\u054939\Desktop\Diverse filer\Safecard\Tavleark1.xlsm")
a = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("Tavledisplay").Cells(i, 14).Value = "Ja" Then
Worksheets("Tavledisplay").Rows(i).Select
Selection.Copy
x.Sheets("Løsninger").Activate
b = Worksheets("Løsninger").Cells(Rows.Count, 1).End(xlUp).Row
x.Sheets("Løsninger").Cells(b + 1, 1).Select
ActiveSheet.Paste
y.Sheets("Tavledisplay").Activate
Selection.ClearContents
End If
Next i
Application.CutCopyMode = False
x.Sheets("Løsninger").Select
Я ожидаю, что код перебирает все заданные строки,где в столбце 14 есть «Ja», вставка их в другой лист моей книги «Løsninger» и удаление их из другой книги.