按列拆分EXCEL:自定义区间导出子表

需积分: 50 9 下载量 183 浏览量 更新于2024-09-02 收藏 1KB TXT 举报
在Excel中,"按列拆分.txt"文件介绍了一种自定义宏方法来将数据表进行拆分。这个宏主要针对的是需要根据特定列的数据值对整个工作表进行分割,并将每个组保存为单独的工作簿。以下步骤和关键知识点解释了整个过程: 1. 宏名称:`Sub ÷÷÷`,表示这是一个自定义子程序,用于执行特定任务。 2. 变量定义: - `arr` 和 `dAsObject`:arr 用于存储当前区域的数据,dAsObject 是一个对象,用来创建一个字典(Dictionary)结构,用于存储拆分后的数据集。 - `k`, `t`, `i&, lc%, rngAsRange, c%`:这些是辅助变量,其中 `c%` 是用户输入的参数,决定依据哪一列拆分,`lc%` 记录数组的列数,`rngAsRange` 用于引用复制范围,`i&` 作为循环索引。 3. 用户交互: - 使用 `Application.InputBox` 获取用户输入的拆分列号,如果输入为0则退出宏。 - 关闭屏幕更新和显示警告,以提高处理效率。 4. 数据处理: - 将当前区域(`[a1]`)的数据赋值给 `arr`,并计算列数 `lc`。 - 初始化一个 `9` 行 `lc` 列的范围 `rng` 作为临时容器,这通常是为了处理可能的合并单元格。 - 使用 `For` 循环遍历 `arr`,检查每个数据行的指定列(`c`)是否已存在于字典 `d` 中。若不存在,则创建新的工作表并保存;若已存在,则通过 `Union` 方法将新数据添加到现有工作表的相应位置。 5. 创建和保存新工作簿: - 遍历字典中的键值对,对于每个键(即拆分依据的列值),创建一个新的工作簿,复制数据到新的工作表,并将文件名设置为键值 + 当前日期后缀 `.xlsx`。 6. 结束宏操作: - 恢复屏幕更新和显示警告功能,最后弹出消息框确认操作完成。 通过这个宏,用户可以根据需要灵活地按列拆分EXCEL工作表,适用于数据分析、整理或者批量处理数据时的场景。通过调整参数,用户能够适应不同的数据组织和文件命名规则。