Sub clpickett3()

Set ws1 = ActiveSheet
Set ws2 = Worksheets("Sheet3")

Set c = ws1.Cells.Find("Vacancy", lookat:=xlPart)
If Not c Is Nothing Then
FirstAdd = c.Address
Do
If c.Comment Is Nothing Then c.AddComment
c.Comment.Visible = False
Set d = ws2.Range("R:R").Find(Split(c.Value, "Vacancy ")(1))
If Not d Is Nothing Then
c.Comment.Text Text:="from (FY_15_Staffing)" & Chr(10) & "column r, row " & b.Row
End If
Set c = ws1.Cells.Find("Vacancy", lookat:=xlPart, after:=c)
Loop While Not c Is Nothing And c.Address <> FirstAdd
End If

End Sub

I am getting a runtime error stating subscript out of ranger