VB Skript für Beschriftung

Hallo ans Forum. Folgendes Problem, ich habe ein VB Skript für die Beschriftung eines Layers, von dem ich nur zum teil weiß, was es macht, aber es funktioniert.

Es sieht so aus:
Function FindLabel ( [Name] , [Laenge] , [Gefaelle] , [Profilhoehe] , [Sonderbauwerk] )
Dim mylabel

If (IsNull([Sonderbauwerk]) Or [Sonderbauwerk] = 1) Then

If Not IsNull([Name]) Then
mylabel = [Name] & vbNewLine
End If

If Not IsNull([Laenge]) Then
mylabel = mylabel & FormatNumber([Laenge] , 2) & "m "
End If

If Not IsNull([Profilhoehe]) Then
mylabel = mylabel & FormatNumber([Profilhoehe] , 2) & "m "
End If

If Not IsNull([Gefaelle] ) Then
mylabel = mylabel & FormatNumber([Gefaelle] , 2) & Chr(137)
End If

FindLabel = "<CLR red='255' green='0' blue='197'>" & mylabel & "</CLR>"
Else
FindLabel = "<CLR red='255' green='0' blue='0'>" & [Name] & "</CLR>"
End If
End Function

Ich weiß nicht genau, was das IF bewirkt oder nicht bewirkt. Trotzdem möchte ich die Beschriftung soweit umstellen, dass nur noch die Profilhoehe verwendet wird und wenn Profilhöhe ungleich Profilbreite, auch die Profilbreite. Das ganze ohne die ominöse If-Geschichte auf die Sonderbauwerke kaputt zu machen.
Kann mir jemand helfen?
Der Ausdruck sagt:

"Wenn das Feld [Sonderbauwerk] leer ist oder eine 1 enthält, dann schreib mir (falls vorhanden) Name, Länge, Profilhöhe und Gefälle ins Label, und zwar in Rosa. Wenn im Feld [Sonderbauwerk] aber etwas anderes steht, schreib mir nur den Namen ins Label, und zwar in Rot."

Fragt sich jetzt: Was sollte im zweiten Fall in deinem gewünschten Label stehen, bei dem ja "nur noch die Profilhoehe verwendet wird und wenn Profilhöhe ungleich Profilbreite, auch die Profilbreite"?
Habe die Sonderbauwerke über Port geworfen und etwas anderes probiert, was nun auch funktioniert:

Function FindLabel ( [Profilhoehe] , [Profilbreite] , [Profiltyp] )
Dim mylabel

Select Case ([Profiltyp])
Case "1"
FindLabel = "<CLR red='255' green='0' blue='197'>" & "DN " & [Profilhoehe] & "m" & "</CLR>"
Case "2"
FindLabel = "<CLR red='255' green='0' blue='197'>" & "RG " & [Profilbreite] & "m" & chr(47) & [Profilhoehe] & "m" & "</CLR>"
Case "3"
FindLabel = "<CLR red='255' green='0' blue='197'>" & "Ei " & [Profilbreite] & "m" & chr(47) & [Profilhoehe] & "m" & "</CLR>"
End Select
End Function

Vielleicht noch jemand eine Idee wie ich den Part mit den Sonderbauwerken davor wieder einbauen kann?