Я работаю над электронной таблицей, которая должна копировать информацию, сгенерированную на одной рабочей таблице, в другую электронную таблицу для печати. Информация в первичной электронной таблице (таблица данных) создается с помощью двух раскрывающихся списков, содержащих высоту и ширину объекта. Я хотел бы иметь возможность скопировать эту информацию, сгенерированную на листе данных, на лист для печати и продолжить этот процесс, скопировав новую комбинацию высоты-ширины в новую строку на листе для печати. Макрос, который у меня есть, дает ошибку, и мне было интересно, есть ли какое-нибудь решение для этой проблемы

Sub copyRow()
Dim wsd1 As Worksheet
Dim wsd2 As Worksheet
Dim wsp As Worksheet
Dim Row1 As Long

' define which worksheet to work on, i.e. replace Sheet1 with the name of your sheet
Set wsd1 = ActiveWorkbook.Sheets("Data Sheet").Range("B11:H11")
Set wsd2 = ActiveWorkbook.Sheets("Data Sheet").Range("M11:R11")
Set wsp = ActiveWorkbook.Sheets("Print Sheet")

' determine the last row with content in column A and add one
Row1 = Worksheets("Print Sheet").Cells(Rows.Count, "C").End(xlUp).Row + 1

' copy data from data sheet to print sheet
wsd1.Copy wsp.Range("C" & Row1)


End Sub

Спасибо за любую помощь!

Майкл

1 ответ1

0
Dim wsd1 As Worksheet
[ ... ]
Set wsd1 = ActiveWorkbook.Sheets("Data Sheet").Range("B11:H11")

Вы пытаетесь назначить Range объекту Worksheet.

Dim wsd1 As Range
[ ... ]
Set wsd1 = ActiveWorkbook.Sheets("Data Sheet").Range("B11:H11")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .