我的情况:
我有一段代码将数据从数据库复制到Excel工作表中,让我们采用此代码
RangeExcelData(objWorkbook.Worksheets.Item("DATA").Range("D71"), rptLotNo)
简而言之,RangeExcelData是我的VB.NET应用程序中的一个用户定义函数,可让我将变量数据复制到Excel中的某个范围
我的代码中有很多内容,必须将数据库中的整个数据复制到一个工作表中。
我还有一个格式化的Excel工作表,我将数据库中的数据放入其中。我想知道的是,我可以将格式化的Excel工作表中的格式复制到工作表中的空白处吗?
以下是我想要的例子,例如格式化的excel:
如果数据超出Excel,我希望VB.NET将格式复制到它旁边的空间。包括它可能具有的公式:
答案 0 :(得分:0)
假设您的原始值从B2
到D7
结束,则可以执行以下操作:
Dim xlSheet As Excel.Worksheet = objWorkbook.Worksheets("DATA")
With xlSheet
.Range("B2:D7").Copy()
.Range("E2:G7").PasteSpecial(Excel.XlPasteType.xlPasteFormats)
.Range("E2:G7").PasteSpecial(Excel.XlPasteType.xlPasteFormulasAndNumberFormats)
' Start adding the new values.
.Range("E3:E6").Value = 4
.Range("F3:F6").Value = 5
.Range("G3:G6").Value = 6
End With
注意:由于您也要复制公式((不仅是格式) ,因此任何固定的值(如果有)都将也可以复制,但这没关系,因为您将用新值覆盖它们。
结果:
如果您不希望复制固定值,则可以检查this question中的答案。这是关于VBA的,但是您可以在VB.NET中做同样的事情。