エクセルVBAでの通貨のコンバーター
以下は、私たちは別のものに1つの通貨から任意の金額を変換ユーザーフォームを作成し、ExcelのVBAでプログラムを見ていきます。
ユーザーフォームは、我々は次のようにルックスを作成しようとしている。
このユーザーフォームを作成するには、次の手順を実行します。
-
Visual Basicエディターを開きます。プロジェクトエクスプローラが表示されていない場合、ビュー、プロジェクトエクスプローラ]をクリックします。
挿入、ユーザーフォーム]をクリックします。ツールボックスが自動的に表示されない場合、ビュー、[ツールボックス]をクリックします。画面は以下のように設定する必要があります。
3.コマンドボタン(最初の左、右の第二の)ラベル、リストボックス(最初の左に、右の第二)、テキストボックスを追加します。これが完了すると、結果は、前に示したユーザーフォームの画像と一致している必要があります。たとえば、ツールボックスからリストボックスをクリックして、リストボックスコントロールを作成します。次に、ユーザーフォーム上のリストボックスをドラッグすることができます。
4.名前とコントロールのキャプションを変更することができます。名前は、Excel VBAコードで使用されています。キャプションは画面に表示されるものです。コントロールの名前を変更することをお勧めですが、我々は唯一この例では、いくつかのコントロールを持っているので、それはここでは必要ではありません。ユーザーフォーム、コマンドボタンとラベルのキャプションを変更するには、[表示]、[プロパティ]ウィンドウをクリックして、各コントロールをクリックしてください。
、ユーザーフォームを表示するワークシート上のコマンドボタンを配置し、次のコード行を追加するには5:
Private Sub CommandButton1_Click() UserForm1.Show End Sub
私たちは今、サブUserForm_Initializeを作成しようとしています。ユーザーフォームのために、Showメソッドを使用する場合、このサブが自動的に実行されます。
-
Visual Basicエディターを開きます。
7.プロジェクトエクスプローラでは、右のUserForm1をクリックし、[コードの表示]をクリックします。
8.左のドロップダウンリストからユーザーフォームを選択してください。右のドロップダウンリストから[Initialize]を選択してください。
次のコード行を追加します。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つのリストボックスが満たされています。次に、ドル通貨は、最初のリストボックスでデフォルトとして設定され、EUROが2番目のリストボックスでデフォルトとして設定さcurrencyis。最後に、値1は、第1のテキストボックスに入力され、値0.722152を2番目のテキストボックスに入力されています。
私たちは今、ユーザーフォームの最初の部分を作成しました。それはすでにきちんと見えますが、我々は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
説明:最初に、私たちは、配列を宣言します。アレイは、二次元を有します。
これは、3行3列で構成されています。次に、我々は、配列の各要素を初期化します。例えば、速度(1,0)は、ドルからユーロへの通貨レートです。次に、我々は、二重ループを開始します。リストボックスで選択した通貨によっては、ExcelのVBAは、最初のテキストボックスに入力された金額を変換し、2番目のテキストボックスに結果を表示します。
例:私は2とj = 1を=し、我々は最初のテキストボックスに値2を入力した場合、ExcelのVBAは値2つの速度(2,1)= 2番目のテキストボックスに、2 * 1.583255 = 3.16651を配置します。
13.テストユーザーフォーム。
結果: