“Range.Find”testing没有说“Object Required”

为什么我运行这段代码的时候会得到一个对象是必需的错误?

Dim mitarbeiterStatus Dim mitarbeiterCell As Variant Set mitarbeiterCell = Nothing Dim rowsinWorkflow As Integer rowsinWorkflow = Worksheets("worksheet1").Range("A1").End(xlDown).Row With Worksheets("worksheet1").Range("B2:B" & rowsinWorkflow) Dim firstAddress mitarbeiterCell = .Find(displayName, LookIn:=xlValues) If Not mitarbeiterCell Is Nothing Then 'ERROR HERE firstAddress = mitarbeiterCell.Address Do '..... Set mitarbeiterCell = .FindNext(displayName) Loop While Not c Is Nothing And mitarbeiterCell.Address <> firstAddress 

我试图像这样顺便说一句: https : //msdn.microsoft.com/de-de/library/office/ff839746.aspx

 With Worksheets(1).Range("a1:a500") Set c = .Find(2, lookin:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Value = 5 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With 

改变这一行:

 mitarbeiterCell = .Find(displayName, LookIn:=xlValues) 

对此:

 Set mitarbeiterCell = .Find(displayName, LookIn:=xlValues)