我经常从SAP导入大量的报告,包括大量的客户信息。通常超过15- 20 k行。生成的报告包括3个小报告由2个空行分开。我正在寻找一些解决方案,自动拆分成3个小的巨大的报告到3个独立的电子表格的基础上,无论是行值(每个报告都以PersNr头开始,以**Summ结束)或者空的行计数值等于2,但是我找不到它。也许一些VBA解决方案,任何类型的帮助都会有帮助。
下面是第一列的外观示例:
PersNr
3000113
3000113
3000113
* 3000113
3005040
3005040
3005040
* 3005040
** Summ
PersNr
4002119
4002119
4002119
* 4002119
4008029
4008029
4008029
* 4008029
** Summ
PersNr
798412123
798412123
798412123
* 798412123
687428901
687428901
687428901
* 687428901
** Summ
请注意,在这种情况下,正常的1空行分裂不工作,因为我有一些单一的空行,我需要分裂时,有2个空行。
在谷歌上搜索了1个多小时,没有完美的解决方案,大多数解决方案都是基于列,而不是基于行或适合1空行,我不能适应,如果为我的目的。
1条答案
按热度按时间7z5jn7bk1#
看看下面的代码。它有两个嵌套循环,外层循环遍历所有数据,内层循环搜索两个连续的空行。当找到这些空行时,创建一个新工作表,复制从
startRow
到找到的行的数据,并将startRow
设置为下一个块的开始。重复此操作,直到所有数据都处理完毕。代码将相关数据读入内存以加快处理速度,但逻辑保持不变。我还添加了一个小函数来检查整个行是否为空。