将大量行从一个工作表复制到另一个工作表,不包括Excel 2010中的空白行

时间:2016-05-30 12:44:58

标签: arrays excel macros

我目前正在使用以下公式处理Excel工作簿,将所有行从一个工作表(Creation_Series_R)复制到另一个工作表(不包括空行)。

{= IFERROR(INDEX(Cre​​ation_Series_R C:!℃; SMALL(IF(Creation_Series_R $ C $ 3:!$ C $ 20402<>"&#34 ;; ROW(Creation_Series_R $ C $ 3:$ C $ 20402)); ROW() - ROW(Creation_Series_R $ C $ 3)1));!"")}

这个公式非常有效。除了,当我做了我的概念证明时,我只有几行,但是最后的数据,我需要处理20400行......增加了我有17列的事实,以及3个类似公式的相似表,我的每次输入一个值时,工作簿需要一个小时来计算。

此工作簿旨在让客户端输入数据,然后重新组织数据,以便可以直接在我们的软件中导入。我已经限制了用户可以为每个工作簿输入的数据数量(非常令人失望),因此我无法将其减少到少于20400行(它只有100个基金财务数据)。

有没有办法,甚至可能使用宏,我可以更有效地做到这一点?

1 个答案:

答案 0 :(得分:0)

数组公式的大块会破坏你的表现(按时间)

如果您的数据位于 A Q ,那么我会将 R 列用作“帮助”列。在 R2 中插入:

=COUNTA(A2:Q2)

并复制下来。宏将:

  • 自动筛选列 R
  • 隐藏 R
  • 列中显示 0 的所有行
  • 复制可见行并将其作为块粘贴到其他位置