Excel VBA入門1問1答 1/2

元ネタ:ネット
http://excelvba.pc-users.net/index.html
http://span.jp/office2010_manual/excel_vba/basic/program.html
ありがとうございます。

問題



問1
VBAエディターの起動方法を述べよ。
答1



問2
標準モジュールの追加方法を述べよ。
答2



問3 サブモジュール
メッセージボックスで「こんにちは」と言う。
答3



問4
サブモジュールを手っ取り早く試す方法を述べよ。
答4




問5
VBA(マクロ)入りのファイルの保存方法を述べよ。
答5



問6
Excelファイルを起動した状態からVBAエディターに触れずに
マクロを起動する方法を述べよ。
答6



問7 サブモジュール
Sheet1のA1セルに「こんにちは」と書く。
答7



問8 サブモジュール
Sheet1のA1セルの内容をメッセージボックスで表示する。
答8



問9
ユーザーフォームを出す方法を述べよ。
(以下、ユーザフォームを単にフォームと言う。)
答9



問10
フォームにラベルとボタンをつけ、ボタンを押したら
A1セルの内容をラベルに表示する方法を述べよ。
答10



問11
フォームにテキストボックスとボタンをつけ、ボタンを押したら
A2セルにテキストボックスの内容を書き込む方法を述べよ。
答11



解答



問1
Alt + F11。



問2
メニューで[挿入][標準モジュール]。



問3
Sub MyHello()
MsgBox "こんにちは"
End Sub



問4
サブモジュール内にカーソルを置きF5。
または横向き三角のボタン。



問5
普通にExcelの画面で保存すればよい。
ただし、保存時に[マクロ有効ブック]を選ばなければならない。
拡張子は.xlsmなどとなる。
ファイルを再び開く際に「マクロを有効にするか?」と聞かれたら
OKしないとマクロは使えない。
(マクロの有効化は常に危険を伴う。)



問6
メニューから[表示][マクロ][マクロの表示]とし、表示されたマクロを実行する。
この際、すぐに実行せず[オプション]を選ぶとショートカットキーを設定できる。
便利である。



問7
Sub MyHello()
Worksheets("Sheet1").Cells(1, 1).Value = "こんにちは"
End Sub



問8
Sub MyHello()
MsgBox Worksheets("Sheet1").Cells(1, 1).Value
End Sub



問9
VBAエディターで[挿入][ユーザーフォーム]を選ぶと、編集画面に移動する。
ユーザーフォーム名はデフォルトでUserForm1となる。(変更可。)
プロジェクトエクスプローラで自分が追加したモジュール(ここでは、Module1)を
ダブルクリックすると、そのモジュールの編集画面に戻る。
そこで、次のようなサブモジュールを書けばよい。
Sub MyHello()
UserForm1.Show
End Sub



問10
プロジェクトエクスプローラーで追加したフォーム(ここでは、UserForm1)を
ダブルクリックすると、フォームの編集画面に行く。
そこで、ツールボックスからフォームに、ラベルとボタンを貼り付ける。
名前はデフォルトでLabel1、CommandButton1になる。
CommandButton1をダブルクリックすると、
Private Sub CommandButton1_Click()

End Sub

のように「ボタンを押したときの動作」を記述する場所が現れる。
ここに1行書き込んで、
Private Sub CommandButton1_Click()
Label1.Caption = Worksheets("Sheet1").Cells(1, 1).Value
End Sub
などとすればよい。



問11
ツールボックスからフォームに、テキストボックスとボタンを貼り付ける。
名前はデフォルトでTextBox1、CommandButton2などになる。
(同じコントロールは番号が増えていく。)
CommandButton2をダブルクリックするとコードが書けるので、
Private Sub CommandButton2_Click()
Worksheets("Sheet1").Cells(2, 1).Value = TextBox1.Text
End Sub
と書けばよい。