Ho risolto aggiungendo delle variabili, come se VB non riesce a gestire tutto in una variabile, comunque ora funziona:

codice:
    Sub TrovaPerimetro()

        Dim x As Int16 'lato x
        Dim y As Int16 'lato y
        Dim z As Int16 'lato z
        Dim p As Int16 'semiperimetro

        Dim area As Double

        'For x = 1 To 125
        x = 36
        For y = 1 To 125
            For z = 1 To 125
                p = (x + y + z) / 2
                If x < p And y < p And z < p Then
                    Dim dx As Double = p - x 'differenza p-x
                    Dim dy As Double = p - y 'differenza p-y
                    Dim dz As Double = p - z 'differenza p-z
                    area = p * dx * dy * dz
                End If
                If area = 270 ^ 2 Then
                    Numeri.Items.Add("x: " & x & " y: " & y & " z: " & z)
                End If
            Next
        Next
        'Next
    End Sub