連日ChatGPTに関する新しい話題が出てきて、これまでのAI開発から、一気に飛躍した感じですよね。IT職でもない私まで耳にしているので、これは余程のことでしょう笑。
ブームに乗って、私もChatGPTを使ってみました。有料会員ではないので、無料で出来る範囲で。
試しに、「投資関連で役に立つVBAのコードを教えてください」と問いを投げかけてみたところ、損益計算できるコードを書いてくれましたので、今回はそちらのコードを紹介してみます。※コードの修正無し
概要
購入価格、売却価格、数量を、それぞれInputbBoxに入力し、損益結果をメッセージボックスで表示しています。
それぞれのInputbBoxと結果表示は、以下のようになります。
<入力ボックス>
・簡単な損益計算
・利益or損失の結果表示
コード【VBAマクロ】
「複数条件で検索」パートのコード
- Sub CalculateProfitAndLoss()
- Dim buyPrice As Double
- Dim sellPrice As Double
- Dim quantity As Double
-
- '購入価格、売却価格、数量を入力
- buyPrice = InputBox("購入価格を入力してください")
- sellPrice = InputBox("売却価格を入力してください")
- quantity = InputBox("数量を入力してください")
-
- '損益を計算
- Dim profitLoss As Double
- profitLoss = (sellPrice - buyPrice) * quantity
-
- '結果をメッセージボックスに表示
- If profitLoss > 0 Then
- MsgBox "利益:" & profitLoss
- ElseIf profitLoss < 0 Then
- MsgBox "損失:" & profitLoss
- Else
- MsgBox "損益なし"
- End If
- End Sub
コード【VBAマクロ】の解説
ChatGPT先生の作成したコードを解説していきます。
2-4.
Double型で購入価格、売却価格、数量を定義しているようです。
ワンポイント
Double型を使用するメリット
・小数点以下の桁数が多い場合に、より正確な値を扱えること
Double型を使用するデメリット
・Double型を使用した演算は、整数型ほど高速ではないこと
7-9.
InputBoxを使って、上記3項目の入力を行っています。その際、「購入価格を入力してください」のように、どのような作業をするか分かりやすく書いています。
12-13.
次は、計算項目です。新たにProfitLossという変数を作ってDouble型としています。そこに、以下の計算式の結果を入れています。
(売却価格−購入価格)✕ 数量
16-22.
最後に、計算結果をメッセージボックスに表示する項目です。If文を使って、
・0以上であれば「利益 ○○」
・0以下であれば「損失 ○○」
・04であれば「損益なし」
と表示するようになっています。
以上ですが、このマクロどうですか?使い勝手は別として、ものの数秒でこれを教えてくれるChatGPT先生凄いですよね。
感想
今回の質問は、ザックリとしていたため、微妙なマクロしか答えてくれませんでしたが、分野を絞って、条件も細かく定義してあげれば、有用なコードを作ってくれそうな気がします。
ChatGPT先生への質問のことを、プロンプトと呼ぶらしく、有効なプロンプトを書くためのルールなども存在するようです。
ChatGPTでは、プログラムコードを書くだけでなく、コードの意味を教えてくれたり、アイディアも出してくれるので、今後益々お世話になりそうです。