如何基于Excel中的单元格值自动插入行?
假设我们有这样一种情况,我们想在指定值下方或上方插入行。Excel默认情况下无法完成此过程,因此我们将使用VBA应用程序的帮助来完成我们的过程。阅读本教程以了解如何基于Excel中的单元格值自动插入行。如果我们尝试手动完成这个任务,这可能是一个耗时的过程,因为插入一个新行是一个多步过程。
基于单元格值在Excel中自动插入行
这里我们将首先插入VBA模块,然后运行代码以完成任务。让我们看一个简单的过程,以了解如何根据Excel中的单元格值在下方插入行。
步骤1
让我们考虑一个类似于下图中所示数据的Excel表单。
现在右键单击表单名称,选择查看代码以打开vba应用程序,然后单击插入并选择模块,然后在文本框中键入程序,如下图所示。
示例
Sub BlankLine()
'Updated by Nirmal
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Enter the value"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = False
For xRowIndex = xLastRow To 1 Step -1
Set Rng = WorkRng.Range("A" & xRowIndex)
If Rng.Value = "10000" Then
Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
在代码中, 10000 是要插入行的单元格值。
步骤2
将表单另存为启用宏的工作表,并按F5键运行代码。将出现一个弹出窗口;选择应该应用代码的范围,我们的最终输出将看起来像下图中的数据。
正如我们所看到的,新行被插入到下面。要在单元格上面插入行,请使用以下代码−
示例
子 BlankLine()
'由 Nirmal 更新
声明范围变量 Rng 和 WorkRng
忽略错误
xTitleId = "输入范围"
设置 WorkRng = 应用程序.Selection
设置 WorkRng = 应用程序.InputBox("范围", xTitleId, WorkRng.Address, 类型: = 8)
设置 WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.Count
应用程序.屏幕更新 = 假
循环变量 xRowIndex 从 xLastRow 到 1,步长为 -1
设置 Rng = WorkRng.Range("A" & xRowIndex)
如果 Rng.Value = "0" 则
Rng.EntireRow.Insert Shift: = xlDown
结束 如果
结束 循环
应用程序.屏幕更新 = 真
结束 子
结论
在本教程中,我们使用一个简单的示例演示了如何根据单元格值在 Excel 中插入一行。