使用变量删除在排序表中输入的最后数据

时间:2016-06-04 16:42:28

标签: excel vba

我有一个数据输入页面,它基本上是用户与之交互以输入数据的前端。带有数据的工作表已隐藏且无法访问。我希望他们可以选择删除他们添加的最后一条记录。我通过将最后输入的数字指定为变量lastReg来进行此操作。然后删除整行。查找最后一行的选项在此处不适用,因为数据在添加时会在表中排序。

Public lastReg As Long
Sub DeleteLastReg()

Dim fcell As Range
Set regRange = ThisWorkbook.Sheets("Registration").Range("C:C")
For Each fcell In regRange.Cells
    If fcell.Value = lastReg Then
        MsgAns = MsgBox("You are about to delete Registration Number: " & lastReg & ". Do you wish to continue?", vbYesNo)
        If MsgAns = vbNo Then
            Exit Sub
        Else
        ThisWorkbook.Sheets("Registration").Rows(fcell).EntireRow.Delete
        End If
    End If
Next fcell

End Sub

错误发生在:

ThisWorkbook.Sheets( “登记”)。行(FCELL).EntireRow.Delete

我无法弄清楚如何引用该行。

2 个答案:

答案 0 :(得分:1)

您已将fcell定义为相关工作表中的单元格。所以

fcell.EntireRow.Delete

应该足够了

答案 1 :(得分:0)

fcell是一个范围。然而,row()函数需要一个数字。所以,这应该可以正常工作:

ThisWorkbook.Worksheets("Registration").Rows(fcell.Row).EntireRow.Delete