Вставка диапазона из одной книги в другую как смещение

Проблема, с которой я сталкиваюсь, заключается в том, что я рисую пробел при копировании известного диапазона из одной книги в другую, но после последней строки — но как смещение (3,0). Это весь код, и на самом деле вы можете игнорировать первые 3/4 этого … и начать с того, где я устанавливаю диапазоны. Я бы подумал, что установить диапазон и сделать смещение строк оттуда, но ясно, что я делаю это неправильно.

Это строка, дающая мне ошибку: Set rngFinalRange … Я знаю, что это неправильно, но я застрял. Мысли? Спасибо!

Option Explicit Sub TEST() Dim auditfolder As String Dim dumpfile As String Dim FSO As Object Dim fldstart As Object Dim wbkAudit As Workbook Dim wbkdump As Workbook Dim rngDumpCols As Range Dim rngDumpFullRange As Range Dim strAuditName As String Dim strDumpName As String Dim fl As Object Dim rngAuditFileRows As Range Dim rngAuditCols As Range Dim rngFinalRange As Range Dim rngauditrows As Range Dim lastrow as range Set FSO = CreateObject("scripting.FileSystemObject") With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = "\\networkpath" .AllowMultiSelect = False If .Show <> -1 Then MsgBox "No file selected. Exiting." Exit Sub Else auditfolder = .SelectedItems(1) Set fldstart = FSO.getfolder(auditfolder) End If End With For Each fl In fldstart.Files If Right(fl.name, 3) = "xls" Then If InStr(fl.name, "5ESS") Then strAuditName = fl.name ElseIf InStr(fl.name, "SelectDataDump") Then strDumpName = fl.name Else MsgBox "Missing either the audit or selectdatadump file" End If ElseIf Right(fl.name, 4) = "xlsx" Then If InStr(fl.name, "5ESS") Then strAuditName = fl.name ElseIf InStr(fl.name, "SelectDataDump") Then strDumpName = fl.name Else MsgBox "Missing either the audit or selectdatadump file" End If End If Next fl Application.ScreenUpdating = False Set wbkdump = Workbooks.Open(strDumpName) Set rngDumpCols = wbkdump.Sheets(1).Cells.Find(what:="*", After:=wbkdump.Sheets(1).Cells(1, 1), LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) Set rngDumpFullRange = wbkdump.Sheets(1).Range("A1", rngDumpCols.Address) Set wbkAudit = Workbooks.Open(strAuditName) Set rngAuditCols = wbkAudit.Sheets(1).Cells.Find(what:="*", After:=wbkAudit.Sheets(1).Cells(1, 1), LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False) Set rngauditrows = wbkAudit.Sheets(1).Range("A1", rngAuditCols.Offset(0, -4).Address) lastrow = wbkAudit.Sheets(1).Cells(65536, rngAuditCols.Column).End(xlUp).Row Set rngFinalRange = wbkAudit.Sheets(1).Range(lastrow.Offset(3, 0).Row) rngFinalRange.Value = rngDumpFullRange.Value wbkAudit.Sheets(1).Columns.AutoFit wbkAudit.save MsgBox "Processing Complete!" End Sub 

lastrow объявляется в вашем коде как объект Range но вы пытаетесь установить его в значение Long :

http://msdn.microsoft.com/en-us/library/office/ff196952.aspx

Попробуйте изменить это …

 lastrow = wbkAudit.Sheets(1).Cells(65536, rngAuditCols.Column).End(xlUp).Row Set rngFinalRange = wbkAudit.Sheets(1).Range(lastrow.Offset(3, 0).Row) 

…к этому…

 Set lastrow = wbkAudit.Sheets(1).Cells(65536, rngAuditCols.Column).End(xlUp) Set rngFinalRange = wbkAudit.Sheets(1).Range(lastrow.Offset(3, 0).Address) 
Interesting Posts

VBA Выделите текущую строку без удаления всех цветов ячеек

Как сохранить файл excel и прикрепить его к новому объекту?

Высота автоподготовки на обеих колонках: колонка с объединенными ячейками и колонка с одиночными ячейками

Excel – объединить несколько столбцов в один, если существуют данные

Скрытие несмежных строк в excel с использованием флажков

Excel If / Then Formula

Excel Macro не копирует содержимое строк

Условное форматирование сводной таблицы с использованием VBA

Исключить выходные дни из динамического диапазона дат

Как остановить отключение ведущих 0 при экспорте в Excel?

Сохранение книги Excel в HTML не работает в Windows 10

Сравнить 2 столбца в разных Excel-книгах: Python

Нет элементов RuleTable в электронной таблице – файл Excel и DRT

Excel VBA Изменение высоты и ширины ListBox программно

Выделение изменений в Excel на основе нескольких совпадающих столбцов

Давайте будем гением компьютера.