result = (90 - value + 360) % 360 'もしくは
result = (90 - value + 360) Mod 360
'角度の相互変換
'esriDirectionType
' esriDTNorthAzimuth :北方位角(北から時計回りの角度)
' esriDTSouthAzimuth :南方位角(南から時計回りの角度)
' esriDTPolar :極座標角(東から反時計回りの角度)
' esriDTQuadrantBearing :四分円方位角(指定した四方位から指定方位に向いた角度[eg,S 45 E])
Private Function GetAzimuthalToGeneral(ByVal Value As Variant, _
Optional ByVal InputType As esriDirectionType = esriDTNorthAzimuth, _
Optional ByVal OutputType As esriDirectionType = esriDTPolar, _
Optional ByVal Precision As Long = 0) As Variant
Dim pAngularConverter As IAngularConverter
Set pAngularConverter = New AngularConverter
pAngularConverter.SetString Value, InputType, esriDUDecimalDegrees
Select Case OutputType
Case esriDTQuadrantBearing
GetAzimuthalToGeneral = pAngularConverter.GetString(OutputType, esriDUDecimalDegrees, Precision)
Case Else
GetAzimuthalToGeneral = pAngularConverter.GetAngle(OutputType, esriDUDecimalDegrees)
End Select
End Function