As you want to build a replace string based on the cell found address you need to cycle through each found cell with findnext and build the string.
Sub Macro1()
Dim wks As Worksheet
Dim Wkb As Workbook
Dim lastcell As Range
Dim seachrange As Range
Dim cellfound As Variant
Dim firstaddress As String
Dim findtext As String
Dim replacetext As String
findstring = "AND("
For Each Wkb In Workbooks
For Each wks In Wkb.Worksheets
If wks.Name = "RecapPro" Then
Set searchRange = wks.Range("AO3:BL206")
Set lastcell = searchRange.Cells(searchRange.Cells.Count)
Set cellfound = searchRange.Find(What:=findstring, After:=lastcell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not cellfound Is Nothing Then
firstaddress = cellfound.Address
Do
Set cellfound = searchRange.FindNext(cellfound)
replacetext = "AND(INDIRECT(" & Chr(34) & "AL" & cellfound.Row & Chr(34) & " )=1,"
cellfound.Formula = Replace(cellfound.Formula, findstring, replacetext)
Loop Until cellfound.Address = firstaddress
End If
End If
Next wks
Next Wkb
Set lastcell = Nothing
Set seachrange = Nothing
Set cellfound = Nothing
End Sub
Bookmarks