Excel 根据单元格值自动插入行

Excel 根据单元格值自动插入行

让我们假设有这样一种情况:我们想在一个指定的值下面或上面插入一行。这个过程在Excel中是无法默认完成的,所以我们将使用VBA应用程序的帮助来完成我们的过程。阅读本教程,了解如何在Excel中根据单元格值自动插入行。如果我们试图手动完成这项任务,可能是一个耗时的过程,因为插入一个新行是一个多步骤的过程。

根据单元格值在Excel中自动插入行

在这里,我们将首先插入一个VBA模块,然后运行代码来完成任务。让我们看看一个简单的过程,以了解我们如何根据Excel中的单元格值在下面插入一行。

第1步

让我们考虑一个Excel表,其中的数据与下图所示的数据相似。

如何在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是你要插入的单元格值。

如何在Excel中根据单元格值自动插入行?

第2步

将工作表保存为支持宏的工作表,按F5键运行代码。将会出现一个弹出窗口;选择应该应用该代码的范围,我们的最终输出将看起来像下面图片中的数据。

如何在Excel中根据单元格值自动插入行?

我们可以看到,新的行被插入到下面。要在单元格上方插入行,请使用下面的代码 –

示例

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中根据单元格值插入一行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程