用于插入单元格的 VBA 按钮

用于插入单元格的 VBA 按钮

有人能帮忙吗?我需要按钮的 vba 代码,该代码仅在 A->E 列中插入空白行(但不是整行)。因此,将根据 E 列添加新行。例如,如果 row(5) <> row(6),则在它们之间插入空白行。

抱歉,我问的太多了,我不熟悉 vba,但这对我的工作非常有帮助。

这是我的桌子

这就是我需要的

答案1

Sub shift_cells()
Dim i As Integer
For i = ActiveSheet.UsedRange.Rows.Count To 2 Step -1
    If Cells(i, 5).Value <> Cells(i, 5).Offset(-1, 0).Value Then
        Range(Cells(i, 1), Cells(i, 5)).Insert shift:=xlDown
    End If
Next
End Sub

答案2

:警告:

由于 D 列和 E 列有重复,因此为了获得正确的结果,我使用 A 列来比较值并插入空白行,因为它具有唯一的 ID。

  • 事实上需要插入一个空白行(查看所附的屏幕截图),如果且当先前的值与当前值不相似时。

    Private Sub CommandButton1_Click()
    
     Dim iRow As Integer, iCol As Integer
     Dim oRng As Range
    
     Set oRng = Range("A2")
    
     iRow = oRng.Row
     iCol = oRng.Column
    
     Do
    
     If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
        Cells(iRow + 1, iCol).EntireRow.Insert shift:=xlDown
        iRow = iRow + 2
     Else
        iRow = iRow + 1
     End If
    
     Loop While Not Cells(iRow, iCol).Text = ""
    
    End Sub

注意:

  • 上面的代码Range("A2")是可编辑的。
  • 将 WB 保存为宏启用*.xlsm

相关内容