Итак, у меня есть эта пользовательская форма, которая всякий раз, когда она попадает в строку, нумеруется как 1,2,3 и т. Д.
Dim ws As Worksheet: Set ws = ThisWorkbook.ActiveSheet
Dim LastRow As Long, nums As Range
Dim number As Range
Dim NextRow As Long
Dim number As Range
Dim LastItem As Range
LastRow = ws.Range("A:A").find("No.", lookat:=xlWhole, LookIn:=xlValues).Row
NextRow = ws.Range("A:A").find(What:="", After:=Cells(LastRow, 1)).Row
Set number= ws.Range("A:A").find("Number")
Set LastItem = ws.Range("A:A").find("Email")
If Not number Is Nothing Then
'find the occupied range below the header
Set nums = ws.Range(number.Offset(1, 0), ws.Cells(LastItem.Count, 1).End(xlUp).Offset(1, 0))
'populate max. value plus one
nums.Cells(nums.Cells.Count).Value = Application.Max(nums) + 1
End If
Проблема, с которой я столкнулся, заключается в том, что на моем листе Excel, посередине есть некоторая информация, поэтому ws.Cells (Row.Count.1) не будет работать, так как он будет вводить данные полностью внизу. Когда я впервые нажимаю кнопку на пользовательской форме, она вводит данные в строку 5, и это хорошо. Но во второй раз вместо перехода к 6-й строке он просто останется в 5-й строке и заменит данные. Как мне установить, где он может перейти к следующему ряду. Спасибо.