マクロの記録を利用した事例 - 東日本硝子業厚生年金基金

平成19年11月1日
NECユーザー会実務担当者研修会資料2
(平成18年12月ユーザーシステム研究会報告事例)
- NECユーザー会ユーザーシステム研究会
-
於 仙台市情報・産業プラザ
東日本硝子業厚生年金基金
今回テーマのポイント
◆VBAを始めるにあたり、「マクロの記録」操作で作成したエクセルを通して、自動処理
やVBAのイメージをつかむ。
◆「マクロ」ボタンを配置したExcelファイルを作成し、事前に設定した操作を自動的
に実行する。
今回作成するボタンは
①指定シートを表示する
②入力されたデータを特定のデータベースに追加する
③登録されたデータを並べ替えて印刷する
◆今回のマクロは、データベースの最終行にデータを追加するもので、これを利用すること
で、いろいろな場面に活用できると思います。「マクロの記録」は、エクセルの操作しな
がらその操作を記録するもので、ある程度エクセルができなくてはなりません。VBAに
ついても同様です。また、「マクロの記録」により登録したマクロは、エクセルが自動的
にVBAコードを作成してくれます。「マクロの記録」により登録されたVBAコードを
編集し汎用性のあるものにしたり、自分でVBAコードを書き追加するなどすることによ
り、「マクロ」からVBAへと進むことができます。
「マクロ」にしろ「VBA」にしろ「同じ内容の操作を毎回行うことを自動的に実行でき
ないか」ということがスタートとなります。
VBAのメリットは、エクセルではできない「繰返し処理」です。ボタンやフォームなど を利用することにより,本人以外でも操作しやすくなり、業務での活用する場面も広がり ます。
1
シートの構成 ~ 名簿作成(マクロ).XLs
2
マクロ登録の準備
◆今回の作業は3つのワークシートを使って行う。それぞれのシート名を「作業メニュー」
「入力シート」、「データシート」に変更し、タイトルなど記入しておく。
(練習用BooK.XLs~http://briefcase.yahoo.co.jp/glskkn449_e_koba からファイルを
ダウンロードできます。)
◆今回の作業で使うショートカットキー
●コピー…通常、編集(E)メニューから選択
Ctrl
を押しながら C
そ
●セルの値のクリア
V
Del
ひ
貼り付け
●表の端のセルに移動する
〔下方向〕
Ctrl
を押しながら
〔上方向〕
↓
Ctrl
を押しながら
↑
●表の範囲を選択する
Ctrl
と
Shift
を押しながら
*
: け
●セルの書式設定画面を表示する…通常、書式(O)メニュー→セル
Ctrl
3
を押しながら
!
1 ぬ
指定シートを表示~ マクロの記録 (1)「作業メニュー」シートを選択
(2)マクロの記録の開始
①ツール(T)→マクロ(M)→新しいマクロの記録(R)をクリックする。
初期設定では「MacroXX」→入力に変更する
C4
「作業中のブック」であることを確認する。
それ以外ならこれをクリックして直す。
②マクロの記録ダイアログボック
スが表示されたら上の通り入力し
てOKをクリックする。
③「入力シート」をクリッ
クし、セルC4のセルを選
択(クリック)する。
④「作業メニュー」シートをクリッする。
⑤「マクロの記録終了」ボタンをクリックする。
4
指定シートを表示~ ボタンの作成、マクロの割付
(3)ボタンの作成とマクロの割付
①表示(V)→ツールバー(T)→フォームをクリックする。→ フォームツールバーの表示
クリック
②「ボタン」をクリック
→マウスポインターが+に
なる
→ボタンを作成したい場所
にカーソルを移動しクイ
ックする。
→マクロの登録ダイアログ
が表示されるので入力を
クイックし、OKを押
す。
5
指定シートを表示~ ボタンの編集、マクロの実行
(4)下のようなボタンが作成されるので、ボタンに表示する文字を「入力」に変更する。
ボタンを右クリック
×で表
示を終
了させ
③ボタンを右クリック→テキ
ストの編集をクリックする。
(右クリック後、編集する文
字を直接クイックしてもよ
い)
④ボタンが上のような編
集モードになるので、
「入力」に直す。
(ファオント、文字の
大きさ、ボタンのサイ
ズなども編集できま
す。)
→適当なセルをクイッ
クして終了。
(5)これで1つめのマクロが完成。実際にボタンを押してためしてみてください。
6
入力されたデータを特定のデータベースに追加する1
(1)「データ」シートを選択(クリック)→A1のセルを選択 → Ctrlキーを押しながら↓キー → A列の最終行へ移動させておく
ポイント
Ctrl
を押しながら
↓
最終行へ移動す
る
(2)「入力シート」のシートを選択(クリック)→必要項目を入力 住所2は数値(計
算式)と判断され
ることがあるの
で、文字列として
書式設定する。
7
セルの書式設定ダイアログは、右
クリックメニューまたはCtrl+1
キーで表示させます。
入力されたデータを特定のデータベースに追加する2
(3)マクロの記録の開始
①ツール(T)→マクロ(M)→新しいマクロの記録(R)をクリックする。
②マクロの記録ダイアログボックスのマクロ名を「転記」と直しOKをクリックする。
③C4からC10まで選択し、Ctrlを押しながらCキーを押す。(コピー)
Ctrl
を押しながら
C
そ
8
入力されたデータを特定のデータベースに追加する3
④「データ」シートを選択(クリック)→A65536のセルを選択(クリック)
⑤ctrlを押しながら↑キーを押す。
→先頭(A1)に移動
クリック
Ctrl
を押しながら
↑
《位置情報を相対参照で指定》
基点となるセルに対してどのように離れているか、といった関係性
で位置を指定すること。通常マクロの記録機能を使えと、原則的に
指定したセルの位置が絶対参照(特定の番地)として記憶される。
クリック
↓
⑨右クリック→「形式を選択して貼り付け」を
クリック(編集(E)からでもできます。)
ポイント
⑥「マクロの終了」ボタンの右がわのボタン
(相対参照)をクリック→相対参照オン
⑦ ↓キーを押す。→ A2に移動する。
⑧「マクロの終了」ボタンの右がわのボタン
(相対参照)をクリック→相対参照オフ
9
入力シートの各項目は下方向に入力のに
対し、データシートは横方向となっているの
で、行と列を入れ替えてコピーする。書式
もそのままコピーされる。
⑩行列を入れ替えるにチェックを
いれOKをクリック
入力されたデータを特定のデータベースに追加する4
⑪「入力シート」のシートを選択(クリック)→Delキーを押す
⑫C4のセルを選択(クリック)→Delキーを
を押す
⑬「マクロの終了」ボタンの左をクリックし
マクロを終了させる。
Del
(4)ボタンの作成とマクロの割付
①表示(V)→ツールバー(T)→フォームをクリックし
フォームツールバーを表示させる。
②「ボタン」をクリック →マウスポインターが+になる
→ボタンを作成したい場所にカーソルを移動しクイックする。
→マクロの登録ダイアログが表示されるので「転記」をクイ
ックし、OKを押す。 ③ボタンに表示する文字を「転記」に変更する。
10
(5)これで2つめのマクロが完成。
実際にボタンを押してためしてみてください。
登録されたデータを並べ替えて印刷する1
(1)「データシート」シートを選択(クリック)
(2) ファイル(F)→ページ設定(U)→シート
→ 枠線にチェックを入れOKをクリックする
ポイント
《枠線にチェック》
いちいち罫線を引かなくても、印刷時
に罫線を追加してくれる。一行目が
みだし
行の場合、大変便利な機能。(このよ
うなデータベースなどの確認印刷とし
て使用する場合に限った方がよいと
思います。
(3)「作業メニュー」シートを選択(クリック)
(4)マクロの記録の開始
①ツール(T)→マクロ(M)→新しいマクロの記録(R)
をクリックする。
②マクロの記録ダイアログボックスのマクロ名を「印刷」
と直しOKをクリックする。
11
登録されたデータを並べ替えて印刷する2
③「データシート」シートを選択(クリック)し、A1のセルをクイック
④Ctrlを押し、次にShiftを押しながら*キーを押す
→表が選択される
Ctrl
と
Shift
を押しながら
*
: け
ポイント
⑤データ(D)→並べ替え(S)をクリック
→優先されるキーを氏名とし、OKをクイックする
氏名(漢字)で並び替えをする場合、
入力時に漢字変換したふりがなが使
われます。ふりがなを編集は書式
(O)→ふりがな(T)→編集(E)で行い
ます。
⑥A2のセルをクリックしてください。
12
登録されたデータを並べ替えて印刷する3
⑦印刷プレビューボタンを押してください。
(ファイル(F)→印刷プレビューでもかまいません)
印刷ダイアログボックス
が表示されます。
印刷プレビューを閉じる。
⑧印刷する場合は、印刷(T)をクイックしてください。 ⑩「作業メニュー」シートを選択
→印刷ダイアログボックスが表示される。
(クリック)
⑨閉じる(C)をクイックしてください。
13
⑪「マクロの終了」ボタンの左を
クリックしマクロを終了させる。
登録されたデータを並べ替えて印刷する2
(5)ボタンの作成とマクロの割付
①表示(V)→ツールバー(T)→フォームをクリックし
フォームツールバーを表示させる。
②「ボタン」をクリック →マウスポインターが+になる
→ボタンを作成したい場所にカーソルを移動しクイックする。
→マクロの登録ダイアログが表示されるので「印刷」をクイ
ックし、OKを押す。 ③ボタンに表示する文字を「印刷」に変更する。
(6)最後のマクロが完成。
実際にボタンを押してためしてみてください。
(7)ファイルを保存してください。
ファイル(F)→名前を付けて保存(A)または上書き保存(S)
14
記録したマクロは自動的にVBAコードに登録される。
◆記録されたVBAコード
Sub 入力()
'
' 入力 Macro
' マクロ記録日 : 2006/12/5 ユーザー名 : user
'
Sub 印刷()
'
' 印刷 Macro
' マクロ記録日 : 2006/12/5 ユーザー名 : user
'
'
'
Sheets("入力シート").Select
End Sub
Sub 転記()
'
' 転記 Macro
' マクロ記録日 : 2006/12/5 ユーザー名 : user
'
並べ替え部分
Sheets("データシート").Select
ActiveCell.Offset(-4, 0).Range("A1:G4").Select
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
ActiveWindow.SelectedSheets.PrintPreview
印刷プレビュー部分
Sheets("作業メニュー").Select
End Sub
'
Range("C4:C10").Select
Application.CutCopyMode = False
相対参照部分
Selection.Copy
Sheets("データシート").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("入力シート").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveCell.Select
End Sub
15
【VBEditorの表示】
ツール(T)→マクロ(M)→Visual Basic Editor