2016-04-05 3 views
0

Итак, у меня есть небольшая проблема, и я могу просто быть слепым!Ошибка времени выполнения 9 VBA

Public Sub copy_from_another_sheet_all2() 

Dim countrows1 As Integer 
Dim wb As Workbook 

Set wb = Workbooks.Open("\\sassrv01-prod\ewpublic\3929ALL\JeppeKNID.xlsx") 

countrows1 = wb.Sheets("X-variabel").Range("A" & Rows.count).End(xlUp).Row 

ThisWorkbook.Sheets("X-variabel").Range("A1:R" & countrows1).Value = wb.Sheets("X-variabel").Range("A1:R" & countrows1).Value* 

Дает мне ошибку времени выполнения 9 - и я не знаю, почему? Если кто-то может помочь спасибо :)

+0

@DoktorOSwaldo Это не то, что ОП пытается для того чтобы достигнуть, они хотят, чтобы в последний раз строка в столбце A - для которой правильный код на этой строке. 'Row.Count' приведет к ошибке компиляции –

+0

Можете ли вы попытаться изменить Integer на Long? – Vityata

+0

@MarcoMan ooh сейчас я вижу его, спасибо за исправление –

ответ

0

Попробуйте добавить новую переменную String для адреса диапазона, я думаю, она должна работать.

Dim addr as String 
addr = "A1:R" & countrows1 
ThisWorkbook.Sheets("X-variabel").Range(addr).Value = wb.Sheets("X-variabel").Range(addr).Value 

Но есть еще один способ, который я предпочитаю, и что с помощью Copy/Paste для этого материала:

wb.Sheets("X-variabel").Range("A1:R" & countrows1).Select 
Selection.Copy 
ThisWorkbook.Sheets("X-variabel").Paste Destination:=ThisWorkbook.Sheets("X-variabel").Range("A1:R" & countrows1) 
Смежные вопросы