用于读取单元格值的宏,如果存在此值,则在表中查找,如果存在,则删除表格行并向上移动

时间:2013-11-17 21:01:10

标签: excel excel-vba erase vba

忘记密码:

它返回对象变量错误。 我试图记录一个宏,但是找不到正确的复制和粘贴功能,然后,宏记录我所在的实际行,而不是变量。

而不是Find,我也试过“Cells.AutoFilter Field:= 2,Criteria1:= x”,但这会导致Autofilter范围类失败。我卡住了 希望它有所帮助。

Sub alta()
'
' alta Macro
x = Range("I3").Select
Selection.Copy
Selection.Find(What:=x, After:=ActiveCell, LookIn:=xlValues, LookAt _
    :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
    True, SearchFormat:=False).Activate
Application.CutCopyMode = False
Selection.EntireRow.Delete
Range("I3").Select
Selection.ClearContents
End Sub

1 个答案:

答案 0 :(得分:0)

这应该让你开始:

Private Sub CommandButton1_Click()
    If Range("I3").Value <> "" Then
        If IsError(Application.Match(Range("I3"), Range("B3:B20"), 0)) Then
            MsgBox ("No Match")
        Else
            foundRow = Application.Match(Range("I3"), Range("B3:B20"), 0) + 2

            Range("A" & foundRow & ":B" & foundRow).Delete Shift:=xlUp
        End If
    End If
End Sub