VBA实现EXCEL循环粘贴并另存:设置单元格内容

需积分: 47 8 下载量 87 浏览量 更新于2024-09-06 收藏 1KB TXT 举报
这段VBA代码是用于Excel中的一种自动化工作流程,主要涉及循环复制、粘贴特定范围的数据并创建新的工作表文件。下面是详细的步骤解析: 1. **环境设置**: - `Application.EnableEvents = False` 和 `Application.ScreenUpdating = False` 以及 `Application.DisplayAlerts = False` 这些行设置了Excel在执行VBA代码时的交互模式,关闭事件处理、屏幕更新和警告显示,以便于更高效地运行代码。 2. **判断剪切板操作**: - `If Application.CutCopyMode = True Then Application.CutCopyMode = False` 这部分确保在代码开始前,如果有剪切或复制操作,会先清除掉,以免干扰后续操作。 3. **清理目标工作表**: - 删除现有工作表(J-5)的行31:2000,然后将行1:30复制到同一工作表中。 - 使用 `Dim` 和 `Set` 声明变量,如 `sht` 用于存储“基础数据”工作表中的A列数据,`O_ne` 用于遍历该列数据,`T_ow` 用于存储B列数据,以及 `ii` 和 `iii` 作为临时计数器。 4. **循环复制和粘贴**: - 对于A列(O_ne)数据,通过 `ForEachO_neInsht` 循环,根据计数器 `i`(每31或30行移动一次),将数据粘贴到J-5工作表相应行。 - 对于B列(T_ow)数据,使用 `ForEachT_owInsht1` 循环,每30行插入一行,将 `T_ow` 区域的值填充到J-5工作表的B列。 5. **恢复Excel交互模式**: - 在处理完所有数据后,代码恢复了 `Application.EnableEvents = True`,`Application.ScreenUpdating = True` 和 `Application.DisplayAlerts = True`,允许Excel的正常交互功能。 6. **错误处理**: - `Err.Clear` 用于清除可能在执行过程中产生的任何错误。 7. **最终操作**: - 结束 `With Workbooks(ThisWorkbook.Name)` 块,表示对当前打开的工作簿的操作完成,并关闭了可能被修改的状态。 这个VBA代码的主要功能是批量从一个工作表中读取A列和B列的数据,根据一定的规律进行分段复制,并将结果粘贴到另一个工作表的特定位置,最后创建了一个新的工作表结构。它适用于需要大量重复性操作且手动操作效率低下的场景。