Excel动态增长行

时间:2013-06-04 04:03:59

标签: excel dynamic row

我一直在寻找解决这个问题的时间,但我找不到答案。

我有一个excel表,我有另一张表,其中包含该表的部分副本。

现在我想要的是当我在我的第一张桌子中添加一行时(请注意,这下面还有一个文字,但我可以在那里放一个标记或类似的标记它应该在那里结束),那是我的另一个table也会添加相同数量的行(另请注意我的第二个表格下面有文字)。

我不知道如何做到这一点,最好的方法是什么?

我甚至不确定我的要求是否有意义。

让我再说一遍:

表1:

  • 一些文字
  • 我的行
  • 一些文字

表2:

  • 另一个文字
  • 我的行
  • 其他文字

如果我在工作表1中添加行,我希望它们也可以添加到工作表2中。

这可能吗?

非常感谢你们

1 个答案:

答案 0 :(得分:0)

可能的解决方案是在C#中,实际上您在一张工作表中插入数据后,将相同的表格内容或该工作表的副本复制到目标工作表中。或者通过copytoclipboard,您可以获取任何表并将其复制到desintation。您在寻找哪种解决方案? C#,VBA?

sheet.UsedRange.Copy(Missing.Value); 
sheet.Range(cellmapp).PasteSpecial(); 

其中cellmapp是您要替换它的范围。如果你对该区域的文本是巨大的,你可以使用sheet.Columns.AutoFit(); sheet.Rows.AutoFit();这将是一个C#解决方案,但需要更多的编程。

循环播放:

foreach (Excel.Worksheet sheet in workbook.Sheets) 
{ 
   workbook.Activate(); sheet.Activate(); foreach (Excel.Shape shape in sheet.Shapes)
   { } 
}

对于行,修改或切换位置,如果您创建新行,则可以简单地将所有现有行值从一个位置移动到右侧。

sheet.UsedRange.Copy(Missing.Value); //copy your existing row's 
sheet.Range(cellmapp).PasteSpecial(); // move them from B4 to C4