实用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.隔行插入空白行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/chinajavafan/article/details/133189074
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/188261

相关文章

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作