コマンドボタンの徹底解説
前回はユーザフォームを作成してコマンドボタンを設置しました。今回はコマンドボタンのさらなる解説とテキストボックスを設置するところまでの操作を解説した動画です。
動画でExcel コマンドボタンの徹底解説と入力した値をシートに転記する迄
【VBAユーザーフォーム】基礎編第2回 コマンドボタンを徹底解説、コントロールの位置やサイズを調整する
動画版「ユーザーフォーム講座」です。ユーザー ホームには複数のコマンドボタンやテキストボックスが配置されることが多いです。複数ある場合、 サイズ や位置を統一した方が良いですね。
今回は コマンドボタンを3個 配置した場合の位置やサイズをまとめて統一する方法についてご紹介します。
マクロ動画 コマンドボタンの徹底解説と入力した値をシートに転記する迄
位置とサイズの調整、コマンドボタンをまとめて整列させる
コマンドボタンを3個配置しました。この3つの位置とサイズを調整します。
このとき大事なことは、どのボタンを基準に調整するかということです。
一番最初に下のコマンドボタンを選択した場合には、下のボタン、 これが基準となります 。今回は一番上のコマンドボタンを基準にしたいので、選択を一番上のコマンドボタンから下方向に向かって選択し直したいと思います。
3個のコマンドボタンを選択します。そして3つとも選択します。
複数のコマンドボタンコントロールを選択したときには、基準となるコマンドボタンには中が空白の四角マークがついています。これでどれが基準になっているのかを判断することができます。
では、まとめて位置を揃えてみましょう。メニューの書式から 整列を選びます。次にどこに揃えたいかを選択して位置を基準となるコントロールに合わせることができます。
コントロールのサイズをまとめて統一する、コマンドボタン
左側を基準として位置が揃いました。次に同じサイズに揃えたいと思います。同じサイズに揃えるには、書式から、同じサイズに揃える、そして幅、高さ、両方向から選びます。
しかしこのままですと、 基準となる コマンドボタンは一番上になっています。揃えたいのは 一番下にあるコマンドボタンのサイズなので 、下側から上に向かって選択し直すことにします。
基準となる コマンドボタンが一番下のコマンドボタンになりましたので、メニューの書式から、同じサイズに揃える、そして幅を選択して、幅を揃えます。
次に同様に 書式から同じサイズに揃える 高さ と 選択して 高さを揃えます。
最後は コマンドボタンの間隔を変更しましょう。 書式から上下の間隔を選び、続いて間隔を均等にする を選びます。
コマンドボタンを複数設置する便利な方法
コマンドボタンを複数設置する場合など、何度も ツールボックスのコマンドボタンをクリックして設置するのは面倒です 。 この時 ツールボックスのコマンドボタンをダブルクリックしますと 複数設置が可能になります。
いちいちツールボックスに戻って、コマンドボタンを押す必要がなくなり、同じコントロールを続けて設置することが可能です。中止したいときは、他のコントロールボタンを押せば解除されます。
キャプションの変更 コマンドボタンの場合
コマンドボタンの上に表示される文字列はプロパティ ウィンドウのキャプションから変更できます。この場合 プロパティ 運動の文字列は小さいので入力しづらいこともあります。 直接 ボタン上でキャプションを編集するには普通の洗濯 状態から内部編集ができる状態に変更してやります。
方法は、選択状態にしてから、 もう1回 コマンドボタンをクリックしてやるだけです。 コマンドボタンを囲む 罫線が斜めの太い罫線に変わりますので、 この状態が内部編集ができるという状態という意味になります。
「当月当日の売上金額入力」というように変更しました。もう一つのボタンは「終了」という文字列に変更しました。
終了ボタンのコードを入力しましょうボタンを右クリックしてコードの表示を選択すると、自動的にコマンドボタンのサブプロシージャのひな型が入力されます。 ユーザーフォームを閉じるには、Unloadステートメントを使います。 Unloadステートメントは、閉じるユーザーフォームの名前を引数に指定します。この場合、UserForm1というデフォルトで設定された名前か、このコードが書かれているFormを表すMeを使うことができます。 このサンプルでは、Unload me と記述します。
テキストボックスに入力した値をシートに転記する
userform にラベルとテキストボックスを配置しましょう。ラベルには『金額を入力』と記述しておきます。続いて当月当日の売上金入力と書いた、コマンドボタンを右クリックします。
このCommandButton5に割り当てるコードのひな型が自動的に記述されます。 その中にコードを書いていきます。
Private Sub CommandButton1_Click() Private Sub CommandButton5_Click() Dim lastR As Long lastR = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row Cells(lastR + 1, 2).Value = TextBox1.Value End Sub
それから ユーザー ホーム表示用のボタンをシートに設置するので、先にユーザーフォームを表示する”UserForm1.Show ”という コードを記述しておきます。
ユーザーフォームを実行して、入力した値を転記する
では、ユーザーフォームを実行して表示させ入力した値を転記してみましょう。 ボタンを押してユーザーフォームを起動させました。
続いて テキストボックスに金額を入力します。 入力したら当月当日の売金額入力ボタンをクリックします。 シートに値が転記されました。
今回のシンプルなユーザーフォームが、テキストボックスに入力した値をシートに転記するという作業の基本となります。