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键运行代码。将会出现一个弹出窗口;选择应该应用该代码的范围,我们的最终输出将看起来像下面图片中的数据。
我们可以看到,新的行被插入到下面。要在单元格上方插入行,请使用下面的代码 –
示例
Sub BlankLine()
'Update by Nirmal
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Enter the range"
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 = "0" Then
Rng.EntireRow.Insert Shift: = xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
结论
在本教程中,我们用一个简单的例子来演示如何在Excel中根据单元格值插入一行。