/ / Excel VBAでの通貨変換

Excel VBAでの通貨換算

以下では、 Excel VBA これは、ユーザーフォームを作成します。 変換する 1つから任意の金額 通貨 別の

作成するUserformは次のようになります。

Excel VBAでの通貨換算

このユーザーフォームを作成するには、次の手順を実行します。

1. Visual Basic Editorを開きます。プロジェクトエクスプローラが表示されていない場合は、[表示]、[プロジェクトエクスプローラ]をクリックします。

2. Insert、Userformをクリックします。ツールボックスが自動的に表示されない場合は、[表示]、[ツールボックス]の順にクリックします。あなたの画面は以下のように設定する必要があります。

Excel VBAでのユーザーフォームの画面設定

3。 ラベル、リストボックス(最初の左側、2番目の右側)、テキストボックス(最初の左側、2番目の右側)とコマンドボタンを追加します。これが完了したら、その結果は前に示したUserformの画像と一致するはずです。たとえば、ツールボックスからListBoxをクリックしてリストボックスコントロールを作成します。次に、ユーザーフォーム上のリストボックスをドラッグすることができます。

4。 コントロールの名前とキャプションを変更できます。名前はExcel VBAコードで使用されます。キャプションは、画面に表示されるキャプションです。コントロールの名前を変更することをお勧めしますが、ここではいくつかのコントロールしか持たないため、ここでは必要ありません。ユーザーフォーム、コマンドボタン、およびラベルのキャプションを変更するには、[表示]、[プロパティ]ウィンドウをクリックし、各コントロールをクリックします。

5.ユーザーフォームを表示するために、ワークシートにコマンドボタンを配置し、次のコード行を追加します。

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Sub UserForm_Initializeを作成します。ユーザーフォームにShowメソッドを使用すると、このサブが自動的に実行されます。

6. Visual Basic Editorを開きます。

7.プロジェクトエクスプローラでUserForm1を右クリックし、コードの表示を次にクリックします。

8.左のドロップダウンリストから「ユーザーフォーム」を選択します。右のドロップダウンリストから「初期化」を選択します。

9.次のコード行を追加します。

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

With ListBox2
    .AddItem "Euro"
    .AddItem "Us Dollar"
    .AddItem "British Pound"
End With

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

End Sub

説明:最初に、2つのリストボックスが塗りつぶされます。 次に、最初のリストボックスに米ドル通貨がデフォルトとして設定され、2番目のリストボックスにEURO通貨がデフォルトとして設定されます。最後に、値1が最初のテキストボックスに入力され、値0.722152が2番目のテキストボックスに入力されます。

これで、Userformの最初の部分が作成されました。それはすでにきれいに見えますが、Goボタンをクリックしても何も起こりません。

10.プロジェクトエクスプローラで、UserForm1をダブルクリックします。

11. Goボタンをダブルクリックします。

12.次のコード行を追加します。

Private Sub CommandButton1_Click()

Dim rates(0 To 2, 0 To 2) As Double, i As Integer, j As Integer

rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452

rates(1, 0) = 0.722152
rates(1, 1) = 1
rates(1, 2) = 0.63161

rates(2, 0) = 1.143484
rates(2, 1) = 1.583255
rates(2, 2) = 1

For i = 0 To 2
    For j = 0 To 2
        If ListBox1.ListIndex = i And ListBox2.ListIndex = j Then TextBox2.Value = TextBox1.Value * rates(i, j)
    Next j
Next i

End Sub

説明:まず、配列を宣言します。 配列には2つの次元があります。 3行3列から構成されています。次に、配列の各要素を初期化します。たとえば、レート(1,0)は、米ドルからユーロへの通貨レートです。次に、ダブルループを開始します。リストボックスの選択された通貨に応じて、Excel VBAは最初のテキストボックスに入力された金額を変換し、2番目のテキストボックスに結果を表示します。

例:i = 2およびj = 1で最初のテキストボックスに値2を入力すると、Excel VBAは2番目のテキストボックスに2 * rates(2,1)= 2 * 1.583255 = 3.16651という値を置きます。

13.ユーザーフォームをテストします。

結果:

通貨換算結果

また読む: