I have two loops that work individually. I now want to combine the two. Here's what I want to do.

IF Sheet3.Range ("G11") = "Fixed" then run the first loop

If not, then IF Sheet3.Range ("G11") = "Equal" then run the second loop

If neither condition is met then = o

Here are the loop codes

Private Sub Worksheet_Change1(ByVal Target As Range)
    
    If Sheet11.Range("$M$28").Value = "Yes" Or Sheet11.Range("$Q$28").Value = "No" Then
        Dim iFirst As Single
        Dim iQtsLb As Single
        Dim iStrikeRatio As Single

        iFirst = Format(Sheet11.Range("$Z$38").Value, "#.000")
        iQtsLb = Format(Sheet3.Range("$F$12").Value, "#.000")
        iStrikeRatio = Format(Sheet11.Range("$Z$39"), "#.000")
        
        Do While (Sheet11.Range("$Z$38") <> iQtsLb)
                       
            If Sheet11.Range("$Z$38") > iQtsLb Then
                Sheet11.Range("$FO$503") = Sheet11.Range("$FO$503") - 0.001
            End If
            If Sheet11.Range("$Z$38") < iQtsLb Then
                Sheet11.Range("$FO$503") = Sheet11.Range("$FO$503") + 0.001
            End If
            'Sheet11.Range("$FO$503") = Format(iStrikeRatio, "#.000")
        Loop
    Else
        Sheet11.Range("$FO$503") = CSng(Sheet11.Range("$Z$39").Value)
    End If
    
End Sub
Private Sub Worksheet_Change2(ByVal Target As Range)

    Application.EnableEvents = False
    
    With Sheet11
        If Sheet3.Range("G11").Value = "Equal" Then
            Do While (.Range("Z37").Value <> .Range("Z35").Value)
            'Do While (.Range("Z37").Value <> .Range("Z35").Value)
                If .Range("Z37").Value > .Range("Z35").Value Then
                    .Range("FO503") = .Range("FO503") - 0.001
                ElseIf .Range("Z37").Value < .Range("Z35").Value Then
                    .Range("FO503") = .Range("FO503") + 0.001
                End If
            Loop
        Else
            .Range("FO503") = CDbl(.Range("Z41").Value)
        End If
    End With
    Application.EnableEvents = True
End Sub
I want to omitt
Else
         .Range("FO503") = CDbl(.Range("Z41").Value)
from the second loop and
Else
        Sheet11.Range("$FO$503") = CSng(Sheet11.Range("$Z$39").Value)
from the first loop because the loops themselves replace these values. Hopefully I explained that in a way that is understandable. Any help would be greatly appreciated.

Thanks,

Clue_Less