如果列中的值与固定单元格匹配,则删除行

时间:2018-08-16 12:07:22

标签: excel vba excel-vba

我正在尝试创建一个相当简单的进/出书系统

我们从交货确认->到达现场->从站点派出并在每个点进行注册来跟踪物品

除了将记录复制到下一阶段后删除记录之外,我已经对所有编码进行了排序

IE: ITEM 1位于“正在等待交货”表中,其中包含所有相关信息,其详细信息被拉到“输入站点”表单中,该表单中添加了更多信息,然后在按下输入按钮时,此数据被复制到“ on”网站的注册信息,我需要代码才能删除旧记录

在我的脑海中,将是一个代码,它使用一个单元格(B1,工作表2)在上一个工作表中查找匹配的记录(在工作表1的A:A行中搜索),然后删除包含该记录的行< / p>

谢谢! (我是一个被深挖的VBA新手,因此将尽我所能来帮助您!)

1 个答案:

答案 0 :(得分:1)

删除sheet1行,这些行= sheet2 range(“ B1”)

Sub Delete_B1()
    Dim Sh As Worksheet, ws As Worksheet
    Dim LstRw As Long, FrNg As Range, x


    Set Sh = Sheets("Sheet1")
    Set ws = Sheets("Sheet2")
    Set FrNg = ws.Range("B1")

    With Sh
        LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row

        For x = LstRw To 1 Step -1
            If .Cells(x, 1) = FrNg Then .Cells(x, 1).EntireRow.Delete
        Next x

    End With

End Sub

如果要删除A:N单元格,请向上移动单元格。

Sub Delete_B1()
    Dim Sh As Worksheet, ws As Worksheet
    Dim LstRw As Long, FrNg As Range, x


    Set Sh = Sheets("Sheet1")
    Set ws = Sheets("Sheet2")
    Set FrNg = ws.Range("B1")

    With Sh
        LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row

        For x = LstRw To 1 Step -1
            If .Cells(x, 1) = FrNg Then
                .Range("A" & x & ":N" & x).Delete Shift:=xlUp
            End If
        Next x

    End With

End Sub