Foglio1

Private Sub CommandButton1_Click() Dim x As Complesso x.Re = Range("C4").Value x.Im = Range("C5").Value x = ReIm_to_MoPh(x) x = ScriviComplessoReIm(x, "B15") x = ScriviComplessoMoPh(x, "B17") End Sub



Modulo1

Type Complesso Re As Double Im As Double Mo As Double Ph As Double End Type Function ReIm_to_MoPh(a As Complesso) As Complesso a.Mo = Sqr(a.Re ^ 2 + a.Im ^ 2) If a.Re >= 0 Then If a.Re = 0 Then a.Re = 0.000000000000001 End If a.Ph = Atn(a.Im / a.Re) Else a.Ph = Atn(a.Im / a.Re) + Pi End If ReIm_to_MoPh = a End Function Function ScriviComplessoReIm(c As Complesso, cella As String) As Complesso a = c.Re b = c.Im If b < 0 Then segno = "-" b = -1 * b Else: segno = "+" End If stringa = a & " " & segno & " i" & b Range(cella).Value = stringa ScriviComplessoReIm = c End Function Function ScriviComplessoMoPh(c As Complesso, cella As String) As Complesso a = c.Mo b = c.Ph stringa = a & " exp( i" & b & " )" Range(cella).Value = stringa ScriviComplessoMoPh = c End Function


ReIm_to_MoPh.xls