我一直试图找到一些帮助,阅读我正在为更大的项目编写的代码。我希望在excel列中标识一个字符串。该字符串可能并不总是出现在列中,在这种情况下我需要能够创建一个新字符串。
我已经创建了一个小宏来测试它,目前我在A列中的数字是1:20。代码正在搜索“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
感谢您提供任何帮助。
答案 0 :(得分:1)
不要将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