我目前正在构建一个程序,我从一个工作簿中复制数据透视表并将其复制到另一个工作簿中,目前我在复制表时遇到问题,因为行数取决于每月购买产品的人数。我尝试在特定范围内使用UsedRange,但它不起作用。这些方面的东西......
targetSheet.Range("N3:S50").UsedRange.Copy()
有什么想法吗?
答案 0 :(得分:0)
Range("A1:B2").Select
Selection.Copy
答案 1 :(得分:0)
以下代码获取特定工作表的数据(在本例中为tSheet)。然后它找到左上角的单元格地址,复制所有数据,从电子表格中删除所有内容,然后将其粘贴回来。这样可以在特定工作表上重置UsedRange。
Dim values 'holds info on the usedRange of the current spreadsheet
Dim usedRangeAddress As String 'holds the address of the usedRange of the current spreadsheet (i.e. "A1")
usedRangeAddress = tSheet.UsedRange.Address 'get the upper most left cell address
values = tSheet.UsedRange.Value'Store values of all cells to array.
tSheet.Cells.Delete() 'Delete all cells in the sheet
tSheet.Range(usedRangeAddress).Value = values'Restore values to their initial locations
所以,有了这个,你应该能够利用第一行代码,然后第二行粘贴到你的otherSheet
Dim values 'holds info on the usedRange of the current spreadsheet
values = tSheet.UsedRange.Value'Store values of all cells to array.
otherSheet.Range(yourTargetAddress).Value = values