VBA复制并粘贴错误

这是一个微不足道的错误,但我无法弄清楚。 我有一个vba脚本,正在复制和粘贴一些项目。 它在除了最后一个之外都有效。 错误是

信息无法粘贴,因为复制区域和粘贴区域的大小和形状不一样。 尝试以下方法之一:

  1. 单击一个单元格,然后粘贴。 •
  2. select一个大小和形状相同的矩形,然后粘贴。

这里是代码:

Sub MakePropertyPage(propertyNum, aFile) Dim sheetName As String sheetName = "Prop " & propertyNum 'OPENS INDIVIDUAL WORKBOOKS TO PULL IN INPUT INFORMATION Workbooks.Open Filename:=vpath & ThisWorkbook.Path & "\" & aFile & ".xlsb", UpdateLinks:=False, ReadOnly:=True Dim sourceRangeAsString As String, dest As Range, clearArea As Range Dim sheetToEdit As Worksheet Set sheetToEdit = ThisWorkbook.Sheets(sheetName) Set clearArea = sheetToEdit.Range("AL100:CC900") clearArea.Delete sourceRangeAsString = "RentRoll" Set dest = sheetToEdit.Range("AL100") Call CopyAndPaste(Workbooks(aFile & ".xlsb"), sourceRangeAsString, dest) sourceRangeAsString = "Underwriting" Set dest = sheetToEdit.Range("AL300") Call CopyAndPaste(Workbooks(aFile & ".xlsb"), sourceRangeAsString, dest) sourceRangeAsString = "Projections" Set dest = sheetToEdit.Range("AL400") Call CopyAndPaste(Workbooks(aFile & ".xlsb"), sourceRangeAsString, dest) sourceRangeAsString = "RolloverCalculations" dest = sheetToEdit.Range("AL500") Call CopyAndPaste(Workbooks(aFile & ".xlsb"), sourceRangeAsString, dest) 'Close the workbook now that we are done with it Workbooks(aFile & ".xlsb").Close savechanges:=False End Sub Sub CopyAndPaste(sourceFile, sourceRangeAsString, dest) Set source = sourceFile.Names(sourceRangeAsString).RefersToRange source.Copy dest.PasteSpecial (xlPasteValues) source.Copy dest.PasteSpecial (xlPasteFormats) End Sub 

你在这里错过了一个Set

 dest = sheetToEdit.Range("AL500")