Note: The other languages of the website are Google-translated. Back to English

Excel中值更改时如何插入空白行?

假设您具有一系列数据,现在您想在值更改时在数据之间插入空白行,以便可以将一列中的顺序相同值分开,如下面的屏幕截图所示。 在本文中,我将为您解决一些技巧。

使用小计功能更改值时插入空白行

值随辅助列更改时插入空白行

使用VBA代码更改值时插入空白行

功能强大的值更改时,插入特定数量的空白行


使用小计功能更改值时插入空白行

随着 小计金额 功能,您可以按以下步骤在值更改时在数据之间插入空白行:

1。 选择您要使用的数据范围。

2。 点击 数据 > 小计金额 打开 小计金额 对话框,然后在 小计金额 对话框,请执行以下选择:

1:根据值何时在以下更改,选择要插入空白行的列名 每次变化 在部分;
2:选择 计数 来自 使用功能 下拉列表;
3:检查要在其中插入小计的列名 将小计添加到 列表框

3。 然后点击 OK,小计线已插入到不同产品之间,并且大纲符号显示在表的左侧,请参见屏幕截图:

4。 然后单击轮廓符号顶部的数字2,仅显示小计线。

5。 然后选择小计范围数据,然后按 Alt +; 快捷键仅选择可见行,请参见屏幕截图:

6。 仅选择可见行后,然后按 删除 键,所有小计行都已删除。

7。 然后单击任何其他单元格,然后返回 数据 > 取消组合 > 清除轮廓 删除大纲,请参见屏幕截图:

8。 轮廓符号立即被清除,当值更改时,您可以看到在数据之间插入了空白行,请参见屏幕截图:

9。 最后,您可以根据需要删除列A。


值快速变化时插入分页符,空白行,底部边框或填充颜色

如果你有 Kutools for Excel's 区分差异 功能,您可以根据需要更改值时快速插入分页符,空白行,底部边框或填充颜色。 请参见下面的演示。         点击下载Kutools for Excel!


值随辅助列更改时插入空白行

使用帮助器列,您可以先插入公式,然后再应用 查找和替换 函数,最后,在变化的值之间插入空白行。 请执行以下操作:

1。 在空白单元格C3中,请输入此公式 = A3 = A2,然后在单元格D4中输入此公式 = A4 = A3,请参见屏幕截图:

2。 然后选择C3:D4,并将填充手柄拖到您要应用这些公式的范围内,您将获得 or 在单元格中,请参见屏幕截图:

3。 然后按 Ctrl + F 键打开 查找和替换 对话框,在弹出的对话框中,输入 FALSE查找内容 下的文字框 查找 选项卡,然后单击 附加选项 按钮以展开此对话框,然后选择 价值观 来自 在看 下拉列表,请参见屏幕截图:

4. 单击 找到所有 按钮,然后按 按Ctrl + A 要选择所有查找结果,请一次选择所有FALSE单元,请参见屏幕截图:

6。 关上 查找和替换 对话框,下一步,您可以通过单击插入空白行 首页 > 插页 > 插入图纸行,并且当值基于A列更改时,空白行已插入到数据中,请参见屏幕截图:

7。 最后,您可以根据需要删除帮助程序列C和D。


使用VBA代码更改值时插入空白行

如果您厌倦了使用上述方法,下面的代码也可以帮助您立即在更改后的值之间插入空白行。

1。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块窗口.

VBA代码:值更改时插入空白行

Sub InsertRowsAtValueChange()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3。 然后按 F5 键以运行此代码,然后会弹出一个提示框,让您选择要在基于值更改时插入空白行的一列数据,请参见屏幕截图:

4。 然后点击 OK,当值基于列A更改时,在数据之间插入了空白行。


功能强大的值更改时,插入特定数量的空白行

如果您尝试使用上述麻烦的方法,在这里,我将介绍一个有用的工具, Kutools for Excel's 区分差异 可以帮助您在单元格值快速而轻松地更改时插入分页符,空白行,底部边框或填充颜色。

提示:申请这个 区分差异 功能,首先,您应该下载 Kutools for Excel,然后快速轻松地应用该功能。

安装后 Kutools for Excel,请这样做:

1。 点击 库工具 > 格式 > 区分差异,请参见屏幕截图:

2。 在 按关键列区分差异 对话框,请执行以下操作:

  • 选择要使用的数据范围,然后选择要基于其插入空白行的键列;
  • 然后检查 空白行 选项从 附加选项 部分,然后输入要插入的空白行数。

3。 然后点击 Ok 按钮,并且如果单元格值发生更改,则将特定数量的空白行插入到数据中,请参见屏幕截图:

点击下载Kutools for Excel并立即免费试用!


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (16)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我有一列数字为 5,4,3,2 和 1(其中很多),我想将五号与其他五号分开,例如:5 5 5 4 3 2 1 5 5 5 5 5 4 3 2 1数字按 desc 顺序排列,总有 20140716 低于 8,所以我尝试: Sub InsertRowsAtValueChange() 'Update 2 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection将 WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=1) Application.ScreenUpdating = False For i = WorkRng.Rows.Count 设置为 1 Step -5 If WorkRng.Cells(i, 1)。 Value = 1 And WorkRng.Cells(i - 4, 1).Value = XNUMX Then WorkRng.Cells(i, XNUMX).EntireRow.Insert End If Next Application.ScreenUpdating = True End Sub 但它不起作用。 你能帮助我吗?
该评论由网站上的主持人最小化
该公式效果很好,但是有一些示例无法识别
该评论由网站上的主持人最小化
非常感谢,到处找,这是唯一对我有用的解决方案,也是简单的英语。 所有其他 Excel 教程网站都没有像你那样一步一步地分解它,非常感谢。 欢呼:)
该评论由网站上的主持人最小化
非常感谢您描述该问题的多种解决方案。 我使用了 Visual Basic 并将 [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] 更改为 [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlMedium End With[/quote] 这将在具有变化值的行之间绘制线条,而不是空行。
该评论由网站上的主持人最小化
在代码中我需要修改以包含多行的位置,我需要在每次中断后添加 10...谢谢
该评论由网站上的主持人最小化
大家好,谢谢!! 太棒了,你们也可以让我在VBA或通过excel中值更改时如何插入2行。
该评论由网站上的主持人最小化
你好,这些几乎是有用的! 第一种方法对我不起作用,因为当我明确遵循这些步骤时,我在小计窗格中删除的数据会删除我已排序的整个列。 在第二种方法中,当我进入插入工作表行的步骤时,这些行被插入到 FALSE 单元格的上方,这会分解数据,但是每个组的最后一个选择会被添加到下面的组中。 有什么建议???
该评论由网站上的主持人最小化
[quote]大家好,谢谢!! 太棒了,你们也可以让我在VBA或通过excel中值更改时如何插入2行。哈德森[/quote] 请告诉我如何插入多于 1 行。
该评论由网站上的主持人最小化
一段时间以来,我一直在使用自己的解决方案。
1.在A列中插入一个辅助列
2. 在 A2 中,输入“if(B2=B1,A1,A1+1)”
3.将该公式复制到最后一行
4.复制A列中所有填充的单元格并在它们上面粘贴特殊(值)
5. 再次复制所有单元格并将它们粘贴到第一个未填充单元格的 A 列中(例如,如果您有 104 行数据加上标题行,您将粘贴到单元格 A106)
6. 单击数据并删除重复项(仅在您刚刚在步骤 5 中粘贴的单元格上;不是在所有行上)
7.对A列全部排序
8.删除A列

似乎有很多步骤,但只需要几秒钟。
该评论由网站上的主持人最小化
VBA 代码第一次工作,并且完全按照我想要做的。 非常感谢!
该评论由网站上的主持人最小化
RE:当值随 vba 代码更改时插入空白行
有没有一种方法可以保存 Range 而不必每次运行时都选择它?
该评论由网站上的主持人最小化
你好,
在我需要插入 1 行的情况下非常有用,但是如果我需要在每次 spwcific 列中的数据更改时插入 145 行,我该怎么做?
该评论由网站上的主持人最小化
嗨,哈桑,
要在特定列中的值更改时插入多个空白行,您应该应用以下 VBA 代码:

注意:在下面的代码中,数字99要改成自己需要的,比如插入145个空行,就要把数字99改成144。请试试看,希望对你有帮助!

子 InsertRowsAtValueChange()
昏暗范围
将 WorkRng 调暗为范围
出错时继续下一步
xTitleId = "KutoolsforExcel"
设置 WorkRng = Application.Selection
设置 WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
对于 i = WorkRng.Rows.Count 到 2 步 -1
如果 WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value 然后
范围 (WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
结束如果
下一页
Application.ScreenUpdating =真
END SUB
该评论由网站上的主持人最小化
很有帮助。 skyyang 上面显示的代码运行良好。 只要确保数据中没有空格即可。

我不懂VBA,但我相信如果你想在已经有间距的数据下面添加更多行,应该有一种方法可以忽略空格。

可以添加一行以忽略或跳过空白行吗? 如果需要,这可能会使此代码更加通用和可重复。 与此类似的删除功能也可能很有用,因此不需要撤消。
该评论由网站上的主持人最小化
可以调整 VBA 方法以忽略空白单元格吗? 我有一个文件,我需要根据两个不同的列在其中插入行,但是当我在第二列上运行宏时,我最终得到三个空白行,第一个宏运行插入的行。
或者它可以同时在两列上运行吗?
该评论由网站上的主持人最小化
嗨,哈桑,

这个 vba 很棒,而我还需要一个备用代码来在序号更改后插入单个空白行。 示例:- 在具有 1、2、3、5、6、9 等数字系列的列中......
需要在 3 和 5 以及 6 和 9 之间添加单个空白行。
请你能用这个吗?
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护