首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA复制粘贴错误

VBA复制粘贴错误
EN

Stack Overflow用户
提问于 2012-06-15 23:37:47
回答 1查看 1.9K关注 0票数 0

这是一个很小的错误,但我想不出来。我有一个vba脚本,它正在复制和粘贴几个项目。它适用于除最后一种以外的一切。错误是

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

  1. 单击单个单元格,然后粘贴。·
  2. 选择大小和形状相同的矩形,然后粘贴。

以下是代码:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-16 00:03:26

你错过了一个Set

代码语言:javascript
复制
dest = sheetToEdit.Range("AL500")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11059437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档