Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VB.NET从Excel中的特定范围复制_Vb.net_Excel_Pivot Table - Fatal编程技术网

使用VB.NET从Excel中的特定范围复制

使用VB.NET从Excel中的特定范围复制,vb.net,excel,pivot-table,Vb.net,Excel,Pivot Table,我目前正在构建一个程序,在该程序中,我从一个工作簿复制一个数据透视表并将其复制到另一个工作簿中,但目前在复制该表时遇到问题,因为行数取决于每个月有多少人购买一个产品。我试着在那个特定的范围内使用UsedRange,但没有效果。沿着这条线的东西 targetSheet.Range("N3:S50").UsedRange.Copy() 有什么想法吗?下面的代码获取特定工作表(在本例中为tSheet)的数据。然后,它会找到左上角的单元格地址,复制所有数据,删除电子表格中的所有内容,然后将其粘

我目前正在构建一个程序,在该程序中,我从一个工作簿复制一个数据透视表并将其复制到另一个工作簿中,但目前在复制该表时遇到问题,因为行数取决于每个月有多少人购买一个产品。我试着在那个特定的范围内使用UsedRange,但没有效果。沿着这条线的东西

    targetSheet.Range("N3:S50").UsedRange.Copy()

有什么想法吗?

下面的代码获取特定工作表(在本例中为tSheet)的数据。然后,它会找到左上角的单元格地址,复制所有数据,删除电子表格中的所有内容,然后将其粘贴回去。这具有重置特定图纸上的UsedRange的效果

Range("A1:B2").Select
Selection.Copy
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

这是可行的,但正如我所说,范围可以从A1:B2到A1:B50,程序依赖于电子表格数据来计算,因此我需要能够检测使用了多少单元格并复制这些单元格的东西,而不仅仅是硬编码范围。也许我还不够清楚。当你说你使用了UsedRange,但它不起作用时,你是得到了错误,还是只是得到了错误的范围?你还记得错误吗?这可能有助于找出问题所在。COMException未处理:来自HRESULT的异常:0x800A03ECT这看起来很有希望。我会很快测试它,看看它是否能工作。试过了,看起来我可以使用它并编辑它来满足我的需要。非常感谢,兄弟!