Tips

VBA実践演習問題 #その1

VBA実践演習問題 #その1

よく目にするアカウント登録フォームを題材にして、VBAで実現できることを体験すると共に、基本的な記述方法について学んでいきましょう。

※Excelファイルダウンロード
登録フォーム

ご使用は自己責任で宜しくお願い致します。
それほど複雑なフォーマットではないので、不安な方はご自身で作成してください。

 icon-hand-o-right 何はともあれ、値を取得して出力しよう!

第1回は、セルに入力された値の取得と出力に関して学んでいきます。

■ 問題

姓、名を入力して「登録する」ボタンを押下すると、メッセージボックスで「(姓) (名)」と出力するようにマクロを作成しましょう。

※その他の項目に関しては、今回は使用しません。

解答はこちら

まずは解答例を見てみましょう。

解答例①

[java]

Sub practice1()

Dim fname As String
Dim lname As String

lname = Range("D3").Value
fname = Range("G3").Value

MsgBox lname & " " & fname
End Sub

[/java]

解答例②

[java]

Sub practice1()

MsgBox Range("D3").Value & " " & Range("G3").Value
End Sub

[/java]

解答例①では、変数の宣言 → 変数に値を代入 → 変数の値を出力 という流れで処理を行っています。
各変数のデータ型は、今回は文字列が入力されることからString型としています。
Rangeを使用して、セルの値をlname、fnameという変数にそれそれ格納し、MsgBoxで出力しています。
注意点としては、姓と名で入力されているセルが異なりますので、これを結合しなければなりません。
文字列の結合を行うには「&」記号を用います。” “の部分は、半角スペースを文字列として結合するという意味です。
最終的な出力の仕方を整えるためによく使用するので、この段階で覚えてしまいましょう。

解答例②は、変数を使用することなく1行で処理を記述しています。VBAに慣れている方が、この程度の仕組みを作成する際にはこれで問題ありません。ただ、解答例①の流れは、大きなマクロを作成する際に非常に重要になってきますので、早い段階からこちらに慣れておくことの方が重要だと私は思います。

■ 演習

下の例のように姓、名に加えて、プルダウンで選択した性別をメッセージボックスで出力するようにマクロを変更しましょう

この演習の解答例はこちら >>

excel_VBAを学んで業務効率化!

excel-vba入門 連載

Recent News

Recent Tips

Tag Search