以下のコードをエクセルのマクロにコピー・ペーストすると,整角四角形のリストを生成できます。 (Microsoft(R) Excel97 SR-2 で確認) <方法>   @ エクセルを起動し [ツール]−[マクロ]−[マクロ]   A マクロ名に macro1 と入力,[作成]   B Sub macro1() と End Sub の間に以下のコードをコピー・ペースト   C エクセルシートに戻り [ツール]−[マクロ]−[マクロ]−[実行] <コード> Dim n As Integer 'カウント用変数 Dim a, b, c, d, x As Integer '角度(度) Dim aa, bb, cc, dd, xx As Double '角度(ラジアン) Dim da As Integer '角度の増分(度) Dim q As Double '作業用変数 Dim pi As Double '円周率 da = 10 '増分は 10° pi = 4 * Atn(1) n = 0 Cells(1, 1).Select '表題 ActiveCell.Value = "No." Cells(1, 2).Select ActiveCell.Value = "a" Cells(1, 3).Select ActiveCell.Value = "b" Cells(1, 4).Select ActiveCell.Value = "c" Cells(1, 5).Select ActiveCell.Value = "d" Cells(1, 6).Select ActiveCell.Value = "x" For a = da To 180 - 2 * da Step da For b = da To 180 - 2 * da Step da For c = da To 180 - 2 * da Step da 'a=d のとき四角形は円に内接 '左右対称を除くため a 90 Or (b + c = 90 And a <> b And c <> d) Then aa = pi * a / 180 bb = pi * b / 180 cc = pi * c / 180 dd = pi * d / 180 q = Sin(cc + dd) * Sin(aa + bb + cc) _ / Sin(aa) / Sin(cc) / Sin(bb + cc + dd) - Cos(aa) / Sin(aa) If q <> 0 Then xx = 180 * Atn(1 / q) / pi Else xx = 90 End If If xx < 0 Then xx = xx + 180 End If x = xx \ da If Abs(xx - x * da) < 0.01 Then '増分の整数倍のみ選ぶ n = n + 1 Cells(n + 1, 1).Select 'データの記入 ActiveCell.Value = n Cells(n + 1, 2).Select ActiveCell.Value = a Cells(n + 1, 3).Select ActiveCell.Value = b Cells(n + 1, 4).Select ActiveCell.Value = c Cells(n + 1, 5).Select ActiveCell.Value = d Cells(n + 1, 6).Select ActiveCell.Value = xx End If End If End If Next d Next c Next b Next a