Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如果列中的值与固定单元格匹配,则删除行_Vba_Excel - Fatal编程技术网

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

Vba 如果列中的值与固定单元格匹配,则删除行,vba,excel,Vba,Excel,我正在尝试创建一个相当简单的图书输入/输出系统 我们从交货确认-->到达现场-->从现场派送到每个点都有一个寄存器来跟踪项目 我已经对所有编码进行了排序,除了在项目复制到下一阶段后删除记录 即: 第1项与所有相关信息一起出现在“等待交付”表中,其详细信息会显示在“进入现场”表中,其中会添加更多信息,然后当按下输入按钮时,该数据会复制到“现场”登记簿中,我需要代码来删除旧记录 在我看来,使用一个单元格(B1,第2页)查找上一页中的匹配记录(在第1页的a:a行中搜索)然后删除包含该记录的行是一种代码

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

我们从交货确认-->到达现场-->从现场派送到每个点都有一个寄存器来跟踪项目

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

即: 第1项与所有相关信息一起出现在“等待交付”表中,其详细信息会显示在“进入现场”表中,其中会添加更多信息,然后当按下输入按钮时,该数据会复制到“现场”登记簿中,我需要代码来删除旧记录

在我看来,使用一个单元格(B1,第2页)查找上一页中的匹配记录(在第1页的a:a行中搜索)然后删除包含该记录的行是一种代码


谢谢大家!!(我是一个非常熟悉VBA的新手,被扔进了deepend,所以我会尽可能多地尝试帮助!)

删除sheet1行=sheet2范围(“B1”)

如果要删除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

行(zz).EntireRow.Delete
其中
zz
将是您要删除的行号。否决票很可能来自于您目前为止没有发布的内容:理想情况下,这只是一段新代码,与其他代码没有交互,因为它几乎是50%VBA 50%excel公式,所以发布我的代码也没有多大用处,也无法真正发布电子表格作为一种保护专有文档,您可以查看许多项目,以便处理此类内容。查看
。查找
。匹配
以获得一行并申请@FoxFireandBurns并烧掉他的首发阵容。Brill谢谢!!我将改变Sh的哪一部分,使其删除该行上的单元格A-Nfinds@DavesExcel,如果你要回答这个问题,那么我可以建议你使用
.Find
而不是不必要地循环所有行吗?@JvdV-你说的“如果你要回答这个问题”是什么意思?我确实回答了。
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