在vba中查找下一个序列号

时间:2019-10-17 20:16:42

标签: excel vba

我正在创建一个按钮,该按钮可以自动按顺序输入数字。 因此,在单元格“ A1”上,单元格是标题,并且是标题号。 “ A2”为空白。 我想,如果我单击按钮,A2将为1,而再次单击它时,A3将为2,依此类推。我试图将其应用到我的用户表单中,但我坚持这一部分。 我可以为此使用什么代码?

谢谢

Private Sub Save_Click()
Dim ws as Worksheet: Set ws = Thisworkbook.ActiveSheet
Dim LastRow as Long
Dim title as Long

title = ws.Range("A:A").Find("Title Number").Row
LastRow = ws.Range("A:A").Find(What:="", After:=Cells(title,1)).Row

我被困在这一部分,在此之后我不知道如何开始。我想做的是,无论数字是多少,我都想引用该数字,以便可以向该特定数字行输入更多数据。

希望我在这里很有意义。

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

Sub test()
    Dim ws As Worksheet
    Dim f As Range, nums As Range

    Set ws = ThisWorkbook.ActiveSheet

    'find the header
    Set f = ws.Range("A:A").Find("Title Number", lookat:=xlWhole, LookIn:=xlValues)

    If Not f Is Nothing Then
        'find the occupied range below the header
        Set nums = ws.Range(f.Offset(1, 0), ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0))
        'populate max. value plus one
        nums.Cells(nums.Cells.Count).Value = Application.Max(nums) + 1
    Else
        MsgBox "No Title Number header!"
    End If

End Sub