Искать весь Excell Column для значения, которое не всегда присутствует, если нет, создайте новое значение

Я пытаюсь найти какую-то помощь, читая шпинат кода, который я пишу для более крупного проекта. Я хочу определить строку в столбце excel. Эта строка может не всегда присутствовать в столбце, в этом случае мне нужно создать новую строку.

Я создал небольшой макрос для проверки этого, в настоящее время у меня есть номер 1:20 в столбце A. Код ищет «37» и не может его найти. если значение найдено, отображает поле msg, чтобы подтвердить его обнаружение или если оно не найдено, отображает поле msg, чтобы сказать, что его не было найдено. Если я искал «2», код работает отлично. Я сталкиваюсь с проблемами, когда значений нет, и «LastPLocation» не имеет значения. В конце концов мне нужно будет создать переменную и присвоить ей значение, например. строка, которая говорит «Нет» или число «0»,

Имена переменных берутся из основного проекта, поэтому вы можете их изменить.

Sub test() Dim LastPLocation As String Dim NewLastPLocation as String LastPLocation = Range("A:A").Find(what:="37", after:=Range("A1"), searchdirection:=xlPrevious).Row If LastPLocation Is Nothing Then MsgBox ("No Last P") NewLastPLocation = 0 Else MsgBox (LastPLocation) NewLastPLocation = LastPLocation + 1 MsgBox (NewLastPLocation) End If End Sub 

Спасибо за любую помощь, которую вы можете дать.

Вместо того, чтобы устанавливать lastPLocation как String , используйте Range :

 Sub test() Dim LastPLocation As Range Dim NewLastPLocation As String Set LastPLocation = Range("A:A").Find(what:="37", after:=Range("A1"), searchdirection:=xlPrevious) If LastPLocation Is Nothing Then MsgBox ("No Last P") ' Do things here when the value is NOT found NewLastPLocation = 0 Else ' Do things here when the value IS found MsgBox (LastPLocation.Row) NewLastPLocation = LastPLocation.Row + 1 End If MsgBox (NewLastPLocation) End Sub 
Давайте будем гением компьютера.