实用VBA:2.隔行插入空白行

2023-10-11 13:10

本文主要是介绍实用VBA:2.隔行插入空白行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

工作中有时会需要将一个表格的行与行之间各插入一个空白行,即由每行一条数据改为隔一行一条数据(或每条数据占2行);或根据需要在每行数据后插入数量不等待空白行,以供后续处理填入数据使用。实现方法有很多,此处为了练习VBA,分享一种使用VBA实现的方法和一种快速实现的操作技巧。

1.需求范例

公司过年发年货,要制作领取签字表,每个人领取后在自己名字下方签字。将下表每行后添加一个空白行。

2.基本思路

设置一个按行循环的变量,从最后一行开始,向上循环,每到一行即向当前行后插入一个空白行。由于执行插入操作时,总行数会增加,循环应从后向前,不影响待操作的行。

3.VBA实现

Option ExplicitSub 隔行插入空白行()Dim wb As Workbook                  '工作簿变量Dim ws As Worksheet                 '工作表变量Dim iRow As Integer                 '原表最大行数Dim i As Integer                    '循环变量Set wb = Workbooks(1)               '设置当前工作簿Set ws = Worksheets("Sheet1")       '设置需要操作的工作表ws.Activate                         '激活工作表iRow = 109                          '设置总行数,由后至前插入空白行For i = iRow To 3 Step -1           '表格含标题行,从最后一行向上逐行插入空白行Cells(i, 1).EntireRow.InsertNext iSet ws = Nothing                    '关闭工作表Set wb = Nothing                    '关闭工作簿
End Sub

4.运行效果

5.插入数量不等的多个空行的方法

对原表添加辅助列,标注每一行下需要插入空行的数量,定义变量从辅助列取数,根据辅助列数值在当前行下循环插入空行。

代码更新

Sub 隔行插入空白行()Dim wb As Workbook                  '工作簿变量Dim ws As Worksheet                 '工作表变量Dim iRow As Integer                 '原表最大行数Dim iNum As Integer                 '辅助列变量Dim i As Integer                    '循环变量Dim j As Integer                    '循环变量Set wb = Workbooks(1)               '设置当前工作簿Set ws = Worksheets("Sheet1")       '设置需要操作的工作表ws.Activate                         '激活工作表iRow = 109                          '设置总行数,由后至前插入空白行For i = iRow To 2 Step -1           '表格含标题行iNum = Cells(i, 4)              '辅助列“行数”所在单元格Cells(i + 1, 1).Select          '选中要操作的单元格If Cells(i, 4) = 0 Then        '不需要插入空白行的数据ElseFor j = 1 To iNum           '根据辅助列插入指定数量的空白行Selection.EntireRow.InsertNext jEnd IfNext iSet ws = Nothing                    '关闭工作表Set wb = Nothing                    '关闭工作簿
End Sub

运行效果

6.无代码的快速实现方法:排序

1)对原表首列序号进行处理,将表序号全部设置为奇数;

2)在表格后的空行中向下填充同等数量的偶数序号;

3)将表格按序号重新排序,则序号为偶数的空白行被间隔排列在奇数行之间。

这篇关于实用VBA:2.隔行插入空白行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188261

相关文章

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

Java轻松实现在Excel中插入、提取或删除文本框

《Java轻松实现在Excel中插入、提取或删除文本框》在日常的Java开发中,我们经常需要与Excel文件打交道,当涉及到Excel中的文本框时,许多开发者可能会感到棘手,下面我们就来看看如何使用J... 目录Java操作Excel文本框的实战指南1. 插入Excel文本框2. 提取Excel文本框内容3

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和