2016-07-14 1 views
-2

Я хочу скопировать некоторые ячейки в другую книгу. Это VBA в excel и это ошибка времени выполнения 1004Excell VBA Ошибка и неизвестная причина

Sub sortout() 
ActiveSheet.Range("$A$3:$BD$336").AutoFilter Field:=7 
Dim i As Integer 
i = 4 
Dim top As Integer 
top = Range("A1048576").End(xlUp).Row + 1 
While i < top 
    If InStr(Cells(i, 7), "Daimler AG") = 0 Then 
     Rows(i).EntireRow.Delete 
     i = i - 1 
     top = top - 1 
    ElseIf InStr(Cells(i, 17), "MAJOR") = 0 Then 
     If InStr(Cells(i, 17), "SIGNIFICANT") = 0 Then 
      Rows(i).EntireRow.Delete 
      i = i - 1 
      top = top - 1 
     End If 
     'Rows(i).EntireRow.Delete 
    End If 
    i = i + 1 
Wend 
Rows(2).EntireRow.Delete 
Range("A:G,I:O,R:V,Z:AA,AC:BD").Delete 

Columns("C:C").Cut Destination:=Columns("H:H") 
Columns("B:B").Cut Destination:=Columns("C:C") 
Columns("H:H").Cut Destination:=Columns("B:B") 
Range("C1").EntireColumn.Insert 
Range("H1").EntireColumn.Insert 
ChDir "C:\Users\antgal\Desktop" 
    Workbooks.Open Filename:= _ 
     "C:\Users\antgal\Desktop\Reported_Changes_Daimler_CW27.xlsx" 
    Windows("Copy of Minutes - Changes_ITO_QGATE_2016-07-06.xlsx").Activate 
    Range("A3:I5").Select 
    Selection.Copy 
    Windows("Reported_Changes_Daimler_CW27.xlsx").Activate 
    Range("B6:J7").Select 
    ActiveSheet.Paste 
Application.CutCopyMode = False 
End Sub 
+0

Есть ли какое-либо сообщение, которое идет с ошибкой? 1004 не помогает. Может быть, номер строки? – Ares

+0

Вы можете отредактировать свой вопрос и заменить его правильным кодом. – Eiko

+0

Ошибка времени выполнения '1004' Определенная пользователем или объектная ошибка // Все, что я вижу, это то, что она проходит через все, открывает книгу, но ничего не копирует: S, поэтому она должна быть в последних 5 строках ... – assaultpig

ответ

0

Попробуйте ниже. Он будет работать

Примечание: Копия и назначение должны быть равны. Здесь проблема.

Workbooks("Copy of Minutes - Changes_ITO_QGATE_2016-07-06.xlsx").Sheets("Enter your sheet name to copy").Range("A3:I5").copy Workbooks("Reported_Changes_Daimler_CW27.xlsx").Sheets("Enter your sheet name to copy").Range("B6") 

Просьба заменить ваши листы имя с «Введите ваше имя листа, чтобы скопировать»

+0

Пробовал, и теперь он говорит: Ошибка времени выполнения 438: Object не поддерживает это свойство или метод в этой строке Windows («Копия минут - Changes_ITO_QGATE_2016-07-06.xlsx»). Активировать – assaultpig

+0

Изменено Windows to Рабочие книги, и теперь он снова говорит об ошибке времени выполнения в ActiveSheet.Paste – assaultpig

+0

У меня есть модифицированный код. pls check –