Как исправить «Ошибка438: объект не поддерживает это свойство или метод» в этом коде? - PullRequest
0 голосов
/ 05 июля 2019

Я получаю

Ошибка 438: объект не поддерживает это свойство или метод когда я пытаюсь вставить из одной книги в другую. Синтаксис неправильный?

Sub ImportScen()

Dim ALMscen As Workbook
Set ALMscen = ActiveWorkbook

Dim Wrkbk as Workbook
Set Wrkbk = Workbooks.Add
Wrkbk.SaveAs Filename:=filepath & "\" & file_name & ".xlsx"

ALMscen.Range(Cells(firstrow, 6), Cells(lastrow, 15)).Copy _
    Destination:=Wrkbk.Worksheets("Sheet1").Range("E2")
'Error occurs on these two previous lines 

Wrkbk.Worksheets("Sheet1").Range(Cells(2, 15), Cells(numscen * 115 + 1, 15)).Value = 0

ALMscen.Range(.Cells(firstrow, 16), Cells(lastrow, 23)).Copy _
    Destination:=Wrkbk.Worksheets("Sheet1").Range("P2")
'Error occurs on these two previous lines 

ALMscen.Range(Cells(firstrow, 25), Cells(lastrow, 34)).Copy _
    Destination:=Wrkbk.Worksheets("Sheet1").Range("X2")
'Error occurs on these two previous lines 

Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 35), Cells(numscen * 115 + 1, 35)).Value = 20
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 36), Cells(numscen * 115 + 1, 36)).Value = 95

1 Ответ

1 голос
/ 05 июля 2019

Попробуйте:

ALMscen.Worksheets(1).Range(Cells(firstrow, 6), Cells(lastrow, 15)).Copy _
Destination:=Wrkbk.Worksheets("Sheet1").Range("E2")

Где: Лист (1) - это исходный лист вашей рабочей книги, также вы можете назвать этот лист так: Sheet("_sheetname_").Где имя листа - это фактическое имя вашего листа.

Mor info Здесь вы все делаете правильно Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0, потому что вы вызываете объект внутри коллекции.

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

Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...