【Excel VBA】三角関数と逆三角関数の計算とグラフの表示
三角関数の計算
VBAでは Sin
, Cos
, Tan
を使用して三角関数の計算ができます。
Sub CalculateTrigFunctions() Dim angle As Double angle = WorksheetFunction.Radians(30) ' 30度をラジアンに変換 MsgBox "Sin(30°): " & Sin(angle) & vbCrLf & _ "Cos(30°): " & Cos(angle) & vbCrLf & _ "Tan(30°): " & Tan(angle) End Sub
逆三角関数の計算
逆三角関数(アークサイン、アークコサイン、アークタンジェント)は WorksheetFunction.Asin
などで計算できます。
Sub CalculateInverseTrigFunctions() Dim value As Double value = 0.5 MsgBox "Asin(0.5) (deg): " & WorksheetFunction.Degrees(WorksheetFunction.Asin(value)) & vbCrLf & _ "Acos(0.5) (deg): " & WorksheetFunction.Degrees(WorksheetFunction.Acos(value)) & vbCrLf & _ "Atan(0.5) (deg): " & WorksheetFunction.Degrees(WorksheetFunction.Atan(value)) End Sub
グラフの表示
VBAを使用してExcelに三角関数のグラフを描画することもできます。
Sub PlotSineWave() Dim ws As Worksheet Dim i As Integer Dim x As Double Set ws = ThisWorkbook.Sheets(1) ws.Cells.Clear ' シートをクリア ws.Cells(1, 1).Value = "X" ws.Cells(1, 2).Value = "Sin(X)" For i = 2 To 100 x = (i - 2) * 0.1 ws.Cells(i, 1).Value = x ws.Cells(i, 2).Value = Sin(x) Next i ' グラフの作成 Dim chartObj As ChartObject Set chartObj = ws.ChartObjects.Add(100, 50, 400, 300) With chartObj.Chart .SetSourceData Source:=ws.Range("A1:B100") .ChartType = xlXYScatterSmooth End With End Sub