将范围复制到新工作表失败

VBA新手无法复制到另一个工作表的偏移量。

复制整个工作表,但我不能得到复制与偏移function相同的方式。

我错过了什么?

source.Copy ThisWorkbook.Sheets(Sheets.Count) 'works source.Range("A12").Copy Destination:=ThisWorkbook.Sheets(Sheets.Count) 'fails 

您正试图在工作表对象上粘贴一个范围,但是您需要指定要在该工作表中粘贴的初始范围(左上angular的单元格)! ;)

 source.Range("A12").Copy Destination:=ThisWorkbook.Sheets(Sheets.Count).Range("A1") 

你也可以使用比复制效率更高的“范围传输”:

 ThisWorkbook.Sheets(Sheets.Count).Range("A1").Value = source.Range("A12").Value 

这里是如何创build一个新的工作表和粘贴从旧的:

 Sub test_frostbite() Dim wB As Workbook, _ WsNEW As Worksheet, _ Source As Worksheet Set wB = ActiveWorkbook Set Source = wB.Sheets("SheetName") Set WsNEW = wB.Sheets.Add Source.UsedRange.Copy Destination:=WsNEW.Range("A1") End Sub