平成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
© Copyright 2024 Paperzz