広告
お仕事などでお馴染みの表計算ソフト、エクセルに付属しているExcelVBA(エクセルブイビーエー)というプログラミング言語を使って初心者・入門者向けにプログラミングのキホンを解説していきます!
ExcelVBAができるようになれば業務内容によってはボタン一つで大幅な業務効率化ができる他に、普段のエクセルの使い方も段違いにレベルアップする事ができます!
ベテランの方も新人さんも興味のある方はぜひ挑戦してみてください!
お待たせしました!入力のお時間です!
コントローラーのボタンを押すとゲームの中の主人公がジャンプしたりするように、少しだけアナタの思い通りにコンピューターを動かしてみましょう!
'6日目 プログラム1 Sub test() Dim age As Integer age = InputBox("あなたの年齢を教えてください") MsgBox "あなたは" & age & "才ですね!" End Sub
いくつかある入力命令の中から「InputBox(インプットボックス)」命令を紹介します。
この命令は「MsgBox」命令のようなウィンドウを表示してそこに入力をしてもらう命令になります。
上のプログラムでは
age = InputBox("あなたの年齢を教えてください")
こちらで変数「age」に初期化もかねて「InputBox」命令を使って年齢を入力してもらっております。
InputBox("")の中に入力ウィンドウ内に表示する題名を入れる事ができます。
「Dim age As Integer」と数値型で変数を宣言しているので文字などを入力すると「型の不一致」というエラーになります。
'6日目 プログラム2 Sub test() Dim name As String Dim age As Integer name = InputBox("あなたの名前を教えてください") age = InputBox("あなたの年齢を教えてください") MsgBox name & vbCrLf & age & "才ですね!" End Sub
もちろん文章も受け取る事ができます。
入力ウィンドウ内の初期値(最初から入っている値)も入れる事ができます。
'6日目 プログラム3 Sub test() Dim name As String Dim age As Integer name = InputBox("あなたの名前を教えてください",Default:="山田 太郎") age = InputBox("あなたの年齢を教えてください",Default:="20") MsgBox name & vbCrLf & age & "才ですね!" End Sub
「題名」の次に「,Default:="初期値"」と続けて初期値を入れる事もできます。
広告
計算機ってほどでもないですが、前回までの復習もかねて入力した2つの数字の計算結果を表示するというプログラムを作ってみましょう!
プログラムが長いのでカッコの閉じ忘れなどに気をつけながらゆっくりプログラミングしてください。
'6日目 プログラム4 Sub test() Dim suji As Integer Dim suji2 As Integer MsgBox "2つの数字を計算します!" suji = InputBox("ひとつ目の数字を入力") suji2 = InputBox("ふたつ目の数字を入力") MsgBox "1つ目の数字 : " & suji & vbCrLf & _ "2つ目の数字 : " & suji2 & vbCrLf & _ "suji + suji2 = " & (suji + suji2) MsgBox "1つ目の数字 : " & suji & vbCrLf & _ "2つ目の数字 : " & suji2 & vbCrLf & _ "suji - suji2 = " & (suji - suji2) MsgBox "1つ目の数字 : " & suji & vbCrLf & _ "2つ目の数字 : " & suji2 & vbCrLf & _ "suji × suji2 = " & (suji * suji2) MsgBox "1つ目の数字 : " & suji & vbCrLf & _ "2つ目の数字 : " & suji2 & vbCrLf & _ "suji ÷ suji2 = " & (suji / suji2) End Sub
2つの数を順番に入力してもらって計算するプログラムです。
途中の「_」アンダーバーはプログラムを折り返す為の接続記号です。
忘れちゃったという方は「3日目 実行ボタンとプログラムの書き方」をご覧ください。
少し長いプログラムですが今までやってきた事を合わせただけなので特に難しくはなかったと思います。
それでは最後にエクセルで作った表の必要な場所に入力を促す簡単な入力フォームを作ってみましょう。
この表の数量欄に入力をしてもらうようにします。
'6日目 プログラム5 Sub nyuuryoku() Dim suji As Integer suji = InputBox("りんごの数量を入力してください",XPos:=0,YPos:=0) Worksheets("sheet1").Range("B3").Value = suji suji = InputBox("ばななの数量を入力してください",XPos:=0,YPos:=0) Worksheets("sheet1").Range("B4").Value = suji suji = InputBox("みかんの数量を入力してください",XPos:=0,YPos:=0) Worksheets("sheet1").Range("B5").Value = suji suji = InputBox("いちごの数量を入力してください",XPos:=0,YPos:=0) Worksheets("sheet1").Range("B6").Value = suji End Sub
「InputBox」命令と「Range」命令を組み合わせれば簡単な入力フォームが作れますね!
これで必要な項目への入力を促す事ができます。
※入力された値のチェック方法は次回説明します!
一回一回「Range」命令を使って結果をエクセル上に書き込んでますので変数は「suji」のみで使い回して大丈夫です。
「InputBox」命令後半の「XPos:=0,YPos:=0」というのは「InputBox」の座標を「XPos:=横位置,YPos:=縦位置」で指定できるものです。
表と重ならないように「InputBox」のウィンドウを表示する時などに使います。
それでは次回いろいろな条件でプログラムを枝分かれさせていきます。
広告
Copyright 2016 K.N/petitetech.com