Encuentra una cadena dentro de una celda usando VBA

Me he estado volviendo loca con esto por un día, buscada alta y baja, y probablemente estoy tratando de ser demasiado linda, así que estoy totalmente atascada.

Estoy tratando de ejecutar un simple si entonces

Si una celda contiene "%" me gustaría que hiciera una cosa, y si no otra. Por razones que no entiendo no puedo hacer que funcione. Claramente he tomado un par de ideas de otros lugares pero todavía no puedo hacer que funcione.

Factores complicados: no quiero ejecutar esto en toda la columna, solo en una tabla, por lo que está incrustado en un sub mayor utilizando lotes o ActiveCells relativos. Nunca sé en qué parte de la columna A voy a encontrar el "% de cambio", por lo que el rango siempre tiene que ser variable. Quiero que VBA / VBE haga algo diferente cuando se encuentra con una celda con el "%". ASI QUE

Aquí es cómo se ven los datos en bruto

Initial Value (6/30/06)

Value (12/31/06)

Net Additions (9/30/07)

Withdrawal (12/07)

Value (12/31/07)

Withdrawal (2008)

Value (12/31/08)

Addition (8/26/09)

Value (12/31/09)

Value (12/31/10)

Value (12/30/11)

Value (3/31/12)

% Change 1st Quarter

% Change Since Inception

Pero cuando ejecuto lo siguiente, se queda atascado en un bucle defectuoso en el que debería haberse insertado en "If Then" en lugar de en la parte "Else" del sub.

Sub IfTest()
 'This should split the information in a table up into cells
 Dim Splitter() As String
 Dim LenValue As Integer     'Gives the number of characters in date string
 Dim LeftValue As Integer    'One less than the LenValue to drop the ")"
 Dim rng As Range, cell As Range
 Set rng = ActiveCell

Do While ActiveCell.Value <> Empty
    If InStr(rng, "%") = True Then
        ActiveCell.Offset(0, 0).Select
        Splitter = Split(ActiveCell.Value, "% Change")
        ActiveCell.Offset(0, 10).Select
        ActiveCell.Value = Splitter(1)
        ActiveCell.Offset(0, -1).Select
        ActiveCell.Value = "% Change"
        ActiveCell.Offset(1, -9).Select
    Else
        ActiveCell.Offset(0, 0).Select
        Splitter = Split(ActiveCell.Value, "(")
        ActiveCell.Offset(0, 9).Select
        ActiveCell.Value = Splitter(0)
        ActiveCell.Offset(0, 1).Select
        LenValue = Len(Splitter(1))
        LeftValue = LenValue - 1
        ActiveCell.Value = Left(Splitter(1), LeftValue)
        ActiveCell.Offset(1, -10).Select
    End If
Loop
End Sub

Toda la ayuda es apreciada, gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta