如何基于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中的单元格值自动插入行?

正如我们所看到的,新行被插入到下面。要在单元格上面插入行,请使用以下代码−

示例

子 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 中插入一行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程