代码之家  ›  专栏  ›  技术社区  ›  Mr.J

如何将格式和公式从Excel区域复制到其他区域?

  •  0
  • Mr.J  · 技术社区  · 6 年前

    我的处境:

    我有一段代码可以将数据库中的数据复制到Excel表中

     RangeExcelData(objWorkbook.Worksheets.Item("DATA").Range("D71"), rptLotNo)
    

    简而言之,range Excel data是VB.NET应用程序中的一个用户定义函数,它允许我将变量数据复制到Excel中的一个范围中

    我的代码中有很多这样的内容,必须将整个数据库中的数据复制到一张工作表中。

    我还有一个格式化的Excel工作表,我把数据库中的数据放在那里。我想知道的是,我可以将格式从格式化的Excel工作表复制到工作表中的一个空格中吗?

    下面是我想要的一个小例子,这是格式化的excel,例如:

    This is the formatted Excel for example

    如果数据超过了Excel,我希望VB.NET将格式复制到它旁边的空间。包括它可能有的公式:

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   41686d6564    6 年前

    假设你最初的价值观始于 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
    

    注: (不仅仅是格式) ,任何 固定的

    结果:

    Result

    this question . 这是关于VBA的,但是你可以在VB.NET中做同样的事情。