2016-11-18 1 views
0

Я стараюсь избегать использования копий и вставки в VBA, чтобы ускорить мой код. У меня есть диапазон на листе, который я хочу заполнить значениями из другого листа в той же книге.установка диапазона на странице = диапазон на другой странице с использованием .Value

В идеале, я пытаюсь выполнить диапазон (X, Y) = .value листов ("Лист2"). Диапазон (а, б) .value

как матрицы Я, определяющие те же размер (4x12) в случае, если это будет проблема ...

Dim App_dates As Integer 

App_dates = Sheets("Pipeline - Underwriting Data D").Range("G1").End(xlDown).Row - 1 


Dim UW As Integer 
UW = Range("UW_cell1").Row 



'Set value = value 

Range("UW_cell1", "UW_btm_end").Value = Sheets("Pipeline - Underwriting Data D").Range("A2", Cells(App_dates + 1, 12)).Value 

Я получаю сообщение об ошибке времени выполнения «1004»: приложения или объекта, определенную ошибку.

Любые предложения?

ответ

0

если именованный диапазон "UW_cell1" является Workbook области действия, или если он находится в настоящее время активного листа, то вы можете использовать:

With Worksheets("Pipeline - Underwriting Data D") 
    With .Range("A2", .Cells(App_dates + 1, 12)) 
     Range("UW_cell1").Resize(.Rows.Count, .Columns.Count).Value = .Value 
    End With 
End With 

иначе

With Worksheets("Pipeline - Underwriting Data D") 
    With .Range("A2", .Cells(App_dates + 1, 12)) 
     Worksheets("myTargetSheetName").Range("UW_cell1").Resize(.Rows.Count, .Columns.Count).Value = .Value 
    End With 
End With 

, где вы должны изменить "myTargetSheetName" к ваше фактическое имя целевого листа

+0

Отлично! Это сработало отлично. Большое спасибо за Вашу помощь!!!!! – AdMac

+0

Добро пожаловать. Хорошая кодировка! – user3598756

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