2016-05-12 3 views
0

Это немного неловко, поскольку я только что разместил связанные вопросы для копирования диапазонов, но проблема, с которой я столкнулся, заключается в том, что мой последний подход не позволял вставить специальные.VBA Pastespecial range

Теперь я пытаюсь скопировать с листа на другой, и я получаю сообщение об ошибке. Исходный код представлен на листе, где он работает без проблем, но здесь он создает 1004 error, указывающий первую строку.

Sub Script() 
Dim Row As Integer 
Dim Col As Integer 

Row = Worksheets("Design").Cells(11, 22).Value 
Col = Worksheets("Design").Cells(12, 22).Value 

    Set varRangeselect1 = Worksheets("Tablecorrected").Range(Cells(2 + 19 * Row, 1 + 19 * Col), Cells(19 + 19 * Row, 18 + Col * 19)) 
    Set varRangeSelect2 = Worksheets("Scriptsheet").Range(Cells(1, 1), Cells(18, 18)) 
    varRangeselect1.Copy 
    varRangeSelect2.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 


End Sub 
+0

Добавить 'Worksheets (" Tablecorrected ")' перед 'ячейками', как вы делали с' range'. – findwindow

ответ

1

FindWindow дал правильный намек, рабочий код:

Sub Script() 
Dim Row As Integer 
Dim Col As Integer 

Row = Worksheets("Design").Cells(11, 22).Value 
Col = Worksheets("Design").Cells(12, 22).Value 

    Set varRangeselect1 = Worksheets("Tablecorrected").Range(Worksheets("Tablecorrected").Cells(2 + 19 * Row, 1 + 19 * Col), Worksheets("Tablecorrected").Cells(19 + 19 * Row, 18 + Col * 19)) 
    Set varRangeSelect2 = Worksheets("Scriptsheet").Range(Worksheets("Scriptsheet").Cells(1, 1), Worksheets("Scriptsheet").Cells(18, 18)) 
    varRangeselect1.Copy 
    varRangeSelect2.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 


End Sub 

спасибо!

Смежные вопросы