如何根据"页面"选择范围?在"分页视图中定义的边框"在excel?
我有一个.xlsx,其工作表有6个区域定义"页面" (可能被称为打印区域?)。根据SQL表中包含的数据,我打算执行一些算术并将数据值输入到工作表中,并根据数字类别,需要复制特定的" Page"范围。
这是一份关于费用预算的法庭文件,名为" Precedent H"可从justice.gov.uk获取,网址如下:
https://www.justice.gov.uk/downloads/courts/cpr/precedent-h-april-2016.xlsx
我希望以编程方式在第一张工作表上复制两个或有成本类别,其中预算有多个或有成本类别(或有成本A / B / C / D /等)。我使用Microsoft.Office.Interop.Excel.ApplicationClass()来访问/打开文档,然后使用Range.Find和Range.Offset的组合来分配值。我玩过使用UsedRange,然后使用split函数获取最后一个单元格,然后使用偏移量向后计数以获取页面中的第一个单元格,但我想知道是否有更简单的方法来获取范围?
答案 0 :(得分:0)
找到一个可以获得特定范围的工作解决方案:
Range rngTo = wsBreakdown.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
Range rngFrom = rngTo.Offset[-24, -9];
然后绕圈并复制/粘贴该区域:
Range rngPaste = rngFrom.Offset[0, 1];
for (int i = 1; i == noPages; i++)
{
Range rngCopy = wsBreakdown.Range[rngFrom.Address, rngTo.Address];
rngCopy.Copy(Type.Missing);
rngPaste.PasteSpecial(XlPasteType.xlPasteAllUsingSourceTheme, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
rngTo = wsBreakdown.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
rngFrom = rngTo.Offset[-24, -9];
rngPaste = rngFrom.Offset[0, 1];
}