Создание листов в двух разных книгах и ихменование после списка в этой книге

У меня есть файл, в котором имена указаны в столбце A с информацией в других столбцах. С помощью функции IF я решаю, какую книгу мне нужно использовать, затем добавляю лист в конкретную книгу, содержащую имена в столбце A. Код работает нормально, пока строка 7 не перестанет работать, и я понятия не имею, почему. Я получил Run-time error 1004 . Однажды он работал нормально, и затем я снова тестировал его, и он полностью разбился. Не могли бы вы мне помочь?

  Dim Ki As range Dim ListSh As range Dim x As Integer Dim lr As Integer Dim wbkRAM As Workbook Dim wbkPSS As Workbook Set wbkRAM = Workbooks.Open(Filename:="C:\Users\212478002\Desktop\VCP\PSS\RAM.xlsx") Set wbkPSS = Workbooks.Open(Filename:="C:\Users\212478002\Desktop\VCP\PSS\PSS.xlsx") lr = Cells(Rows.Count, 1).End(xlUp).Row With ThisWorkbook.Sheets("Sheet1") Set ListSh = .range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row) End With For x = 1 To lr For Each Ki In ListSh x = x + 1 If ThisWorkbook.Sheets("Sheet1").Cells(x, "B") = "PSS" Then wbkPSS.Sheets.Add(After:=Sheets(Sheets.Count)).Name = Ki.Value ThisWorkbook.Sheets("Sheet1").Cells(x, "D").Copy wbkPSS.Sheets(Ki.Value).Cells(1, "A").PasteSpecial Else wbkRAM.Sheets.Add(After:=Sheets(Sheets.Count)).Name = Ki.Value ThisWorkbook.Sheets("Sheet1").Cells(x, "C").Copy wbkRAM.Sheets(Ki.Value).Cells(1, "A").PasteSpecial End If Next Next End Sub 

попробуйте это, если вы получите сообщение об ошибке, нажмите debug и сообщите мне, какая строка вызывает ошибку.

 Dim x As Integer Dim lr As Integer Dim wbkRAM As Workbook Dim wbkPSS As Workbook Dim ws As Worksheet Sub dunnothename() Set ws = ThisWorkbook.Sheets("Sheet1") Set wbkRAM = Workbooks.Open(Filename:="C:\Users\212478002\Desktop\VCP\PSS\RAM.xlsx") Set wbkPSS = Workbooks.Open(Filename:="C:\Users\212478002\Desktop\VCP\PSS\PSS.xlsx") lr = ws.Cells(Rows.Count, 1).End(xlUp).Row Set ListSh = ws.Range("A2:A" & lr) For x = 1 To lr If ws.Cells(x, 2) = "PSS" Then wbkPSS.Sheets.Add(After:=wbkPSS.Sheets(wbkPSS.Sheets.Count)).Name = ws.Cells(x, 1).Value ws.Cells(x, 4).Copy wbkPSS.Sheets(ws.Cells(x, 1).Value).Cells(1, 1) Else wbkRAM.Sheets.Add(After:=wbkRAM.Sheets(wbkRAM.Sheets.Count)).Name = ws.Cells(x, 1).Value ws.Cells(x, 3).Copy wbkRAM.Sheets(ws.Cells(x, 1).Value).Cells(1, 1) End If Next End Sub 
  • Экспорт XML-файла из Excel
  • Ошибка времени выполнения 13: несоответствие типов
  • Скрипт запускает, но ничего не делает
  • Ошибка времени выполнения «7»: Недостаточно памяти
  • Попытка удалить все листы в рабочей книге, а затем добавить другие листы с помощью VBA
  • VBA Error Subscript вне диапазона для цикла, используемого для копирования / вставки
  • VBA Excel 2016 - Ошибка времени выполнения «1004»
  • Первый код VBA: ошибка времени запуска поиска цели 1004
  • Что вызывает ошибку «Invalid advise flags» во время выполнения в Excel VBA?
  • Ошибка при обращении к предыдущему dimmed activecell (Ошибка времени выполнения «1004»)
  • Форма Показать метод в случае workbook_open в ThisWorkbook ломает фокус
  • Interesting Posts

    Файл parse xls по электронной почте

    Ошибка преобразования данных в пакет SSIS – текст в GUID

    Экспорт данных принтера для улучшения и использования макросов для создания уведомлений о тонере

    PHP_XLSXWriter_plus Отсутствующие данные для больших наборов данных Mysql

    Excel VBA – сводная таблица с несколькими значениями фильтров

    Экспорт данных Excel имеет небольшие ящики с вопросительными знаками

    Сводная диаграмма пуста в Excel 2013

    В excel можно обновить одну ячейку с именем пользователя человека, который модифицирует любую ячейку в этой конкретной строке?

    Как получить взвешенную сумму в зависимости от множителей в столбце Excel?

    Excel VBA Array – Получение #Value! ошибка при попытке сброса массива в электронную таблицу

    Макрос работает очень медленно: как ускорить этот макрос?

    Формула Excel SUMPRODUCT

    как загрузить и сохранить документ по VBA

    Скопируйте строки на новый лист, если дата в диапазоне столбцов находится между двумя датами, определенными пользователем

    Последнее слово исчезает во время разделения целых слов

    Давайте будем гением компьютера.