Кажется, у меня есть две строки проблемных кодов. Без них коды могут работать хорошо, с включенными в них, я получу ошибку времени выполнения «1004», определяемую приложением или объектно-ориентированную ошибку.VBA копирует ячейки с листа на новый с ошибкой 1004
Что я в принципе хочу сделать, это отправить команду с условиями из рабочей книги C, чтобы скопировать диапазон ячеек из рабочей книги А в рабочей книге B, мои коды, как показано ниже:
И смотрите, пожалуйста, две проблемные линии Я отметил. Это выглядело отлично для меня, но каким-то образом VBA не выполнит его. Может ли кто-нибудь объяснить мне, почему это так?
мне кажется, столкнуться с подобными проблемами, пока я баловаться с большим количеством книг, так что я предполагаю, что это общая проблема, я при работе с несколькими тетрадями и не ограничиваются только копируют клетки ...
Sub TrySaveAs()
Dim wkb0 As Workbook
Set wkb0 = ThisWorkbook
Dim wkb1 As Workbook
Dim wkb2 As Workbook
Dim i As Integer
i = 2
Do Until IsEmpty(wkb0.Worksheets("Sheet2").Cells(i, 1))
Dim full_path As String
full_path = C:\something\something.xlsx
Set wkb1 = Workbooks.Open(Filename:=somename)
wkb1.SaveAs Filename:=full_path
Set wkb2 = Workbooks.Open(Filename:=someothername)
Dim last_row As Integer
last_row = wkb2.Worksheets("RAW").Range("A1").End(xlDown).Row
wkb2.Worksheets("RAW").Range(Cells(1, 1), Cells(last_row, 5)).Copy <--------problematic
wkb1.Worksheets("Sheet1").Range(Cells(1, 1), Cells(last_row, 5)).Paste <--------problematic
wkb2.Close SaveChanges:=False
wkb1.Close SaveChanges:=True
i = i + 1
Loop
End Sub
Проверьте свой wkb2, чтобы увидеть, успешно ли он открывается, и если имя рабочей таблицы является правильным или существует/не скрыто. Кроме того, значение full_path необходимо "" – Alex
Я думаю, что все в порядке. я просто перечеркнул их здесь, чтобы избежать осложнений ... –