Excel VBAで電卓を作る

Excel VBAでGUIの関数電卓を作成する過程を説明しながら、理解しやすいようにコードを提供します。このプロジェクトでは、ユーザーフォームを使用して簡単な関数電卓を作成します。

ステップ1: ユーザーフォームの作成

  1. Excelを開く:
    • Excelを起動し、新しいブックを開きます。
  2. VBAエディタを開く:
    • Alt + F11を押してVBAエディタを開きます。
  3. 新しいユーザーフォームを挿入:
    • メニューから挿入 -> ユーザーフォームを選択します。
  4. ユーザーフォームにコントロールを追加:
    • ツールボックスからボタンラベルテキストボックスなどのコントロールをドラッグしてユーザーフォームに配置します。

ステップ2: コントロールの配置と名前付け

  1. テキストボックス:
    • 名前: txtDisplay
    • プロパティ: LockedTrueに設定(ユーザーが直接入力できないようにするため)
  2. ボタン:
    • 数字ボタン(0-9)
    • 演算子ボタン(+、-、*、/)
    • その他のボタン(=、C、.)

各ボタンに適切な名前を付けます。例えば、数字ボタンはbtn0btn1など、演算子ボタンはbtnAddbtnSubtractなどです。

ステップ3: コードの追加

各ボタンのクリックイベントにコードを追加します。

  1. 数字ボタンのコード:
Private Sub btn0_Click()
    txtDisplay.Text = txtDisplay.Text & "0"
End Sub

Private Sub btn1_Click()
    txtDisplay.Text = txtDisplay.Text & "1"
End Sub

' ... 以下同様に他の数字ボタンにも同様のコードを追加
  1. 演算子ボタンのコード:
Private Sub btnAdd_Click()
    txtDisplay.Text = txtDisplay.Text & "+"
End Sub

Private Sub btnSubtract_Click()
    txtDisplay.Text = txtDisplay.Text & "-"
End Sub

' ... 他の演算子ボタンにも同様のコードを追加
  1. その他のボタンのコード:
Private Sub btnClear_Click()
    txtDisplay.Text = ""
End Sub

Private Sub btnEqual_Click()
    Dim result As Double
    On Error GoTo ErrorHandler
    result = Evaluate(txtDisplay.Text)
    txtDisplay.Text = result
    Exit Sub

ErrorHandler:
    txtDisplay.Text = "Error"
End Sub

ステップ4: ユーザーフォームの表示

ユーザーフォームを表示するためのコードを追加します。

  1. モジュールを挿入:
    • メニューから挿入 -> 標準モジュールを選択します。
  2. 表示コードを追加:
Sub ShowCalculator()
    UserForm1.Show
End Sub

ステップ5: テストとデバッグ

VBAエディタでShowCalculatorマクロを実行して、関数電卓が正しく動作することを確認します。必要に応じて、レイアウトやコードの調整を行います。

以上が、Excel VBAでGUIの関数電卓を作成する基本的な過程です。このプロジェクトを通じて、VBAの基本的な使い方とユーザーフォームの作成方法について理解が深まると思います。

タイトルとURLをコピーしました