Excelには、操作した手順を
記録し、
再生する機能が付いています。
Excelでは計算やデータ整理、印刷などさまざまな作業を行いますが、
決まった手順で行う操作も数多くあります。
そのような時、マクロで操作手順を記録し再生することで、
作業の効率化を図ることができできます。
マクロは、プログラミング言語
MicrosoftVisualBasicに変換され記録されます。
Basic言語を学習していくと、記録されたコードを編集し、さらに使い勝手よく、また、
手作業ではできないようなことまで自動化することができるようになります。
マクロ(Macro):本来、コンピュータは1命令で1作業を行いますが、操作を記録することで多数の命令セットが作成されます。
この多数(大きな)の
命令セットを
マクロ命令(言語)と呼びます。
たとえば、セルB1をクリックする操作は、
Range("B1").Select
さらに、文字の色を赤にする操作は、
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
のように記録されます。
この中で、フォントを赤にしているのは、2行目(.Color = -16776961)の部分
3行目の
TintAndShadeは文字の明るさ
-1 (最も暗い) 〜 1 (最も明るい) の値、0 (ゼロ) が中間値。
0:既定値なので不要な行。
マクロを記録すると、
不要な命令コードが数多く記録されます。
慣れてくれば、手作業で不要な行を削除できるようになります(コードが見やすくなる。)
そのままにしておいても可。
(カスタマイズしたい場合、既定値のコードがあれば、
何処を変更すればよいのかがわかります。)
このように記録した操作を再生(実行)すると、
「セルB1を選択し、その文字色を赤にする」という作業を、1度の操作で実行することができます。
問1で記録したマクロ“
塗りつぶし”を左にあるオートシェイプ「
額縁」(表題:"塗りつぶし")に登録して実行しなさい。
登録手順:
1)オートシェイプの上で右クリックする。
2)「マクロの登録」をクリックする。
3)[マクロ名]から「塗りつぶし」を選択して「OK」をクリック。
実行
4)オートシェイプをクリックするとセル範囲B3:D6が黄色で塗り潰され、太い格子の罫線が引かれるはず。
以下の作業を行って下さい。
1.セル範囲
A4:F4を選択しなさい。
その後、選択範囲を
・フォント:HGS創英角ゴシックUB
・サイズ :11pt
・太字、左揃え
にするマクロを作成しなさい。
マクロ名:
タイトル書式
保存先 :
作業中のブック
2.マクロ「
タイトル書式」を[
額縁]のオートシェイプに登録しなさい。コマンドボタンのボタン名は「
タイトル設定」とすること。
3.その後、
A1に対してマクロを実行して下さい。
解答例
1.セル範囲
A4:F4を選択(マクロ記録
開始前に選択しておくこと!!)
2.マクロの記録開始
マクロ名:
タイトル書式
保存先 :
作業中のブック
その後、選択範囲を
・フォント:HGS創英角ゴシックUB
・サイズ :11pt
・太字、左揃えにする。
にします。
2.オートシェイプ[
額縁]を作成し、作成したマクロ「
タイトル書式」を登録。
マクロを登録します。

コマンドボタンのボタン名は「
タイトル設定」とする。
オートシェイプを右クリックし、
テキストの編集をクリックしてボタン名を入力
3.その後、
A1を選択して、ボタンをクリック
問6 マクロの編集 - 入力文字変更
マクロ[店舗名]を編集しなさい。
セル[A3]に入力する値を”木村屋”に変更すること。
また、変更後マクロを実行すること。

解答例
「開発」タブから「
マクロ」をクリック。
[
店舗名]を選択して、[
編集]をクリック。
セル
A3に入力するコマンドは、2行目 Range("A3") = "青木屋" なので、
"青木屋" → "
木村屋" に変更する。
左上の「

」ボタンをクリックしてエクセルシートに戻る。
マクロ「
店舗名」を実行して、
A3に"
木村屋"が入力されることを確認
問7.1 マクロの編集 - 書式変更
定義されているマクロ“
FormatTable”を、表の左端の文字列が
MS ゴシック
フォントの色を 白
太字を斜体 に、
表の1行目を中央揃え
になるように編集して下さい。
白色のカラー番号は 2 、
太字は Bold , 斜体は Italic をTrue にします。
コードが分からなかったらマクロの記録を利用して実際に作ってみるとよいでしょう。
変更したマクロをセル
A26:F42に適用して下さい。
解答例
下図のように変更します。
その後、
A26:F42を選択して、マクロ
FormatTable を実行します。
問7.2 マクロの編集 - 「弁当注文表」の改良
「弁当注文表」を改良します。
下記のような「弁当注文表」は、使うたびに商品番号と数量を消去するのはなかなか面倒です。
そこで、A列の
商品番号とD列の数量の範囲を消去する「
OrderClear」という名前のマクロを作成しました。
ところが、
「注文者」の列も消去しなければいけないことをマクロを作った後で気付きました。
新たにマクロを作り直すのではなく、マクロを編集して「注文者」の列も消去されるようにしなさい。
編集後、マクロを実行してA,D,F列のデータが消去されるかを確認しなさい。
解答例
記録されたているマクロは下のようになっています。
Sub OrderClear()
'
'弁当注文表 データ消去用マクロ
'
Range("A4:A11,D4:D11").Select
Selection.ClearContents
End Sub
意味
Range("A4:A11,D4:D11").Select → 'セル範囲A4:A11とD4:D11を選択して
Selection.ClearContents → '選択した範囲を消去(Delete)
よって、これに、セル範囲
F4:F11を
追加すれば注文者の列も消去されます。
ちなみに":"は連続する範囲の時、","は複数のセル範囲の時使用します。
下記のように修正(
赤字が追加分)
Sub OrderClear()
'
'弁当注文表 データ消去用マクロ
'
Range("A4:A11,D4:D11,F4:F11").Select
Selection.ClearContents
End Sub
問8 ユーザータブとボタン作成
[
開発]タブの右側に[
個人用マクロ]の名前で
新しいタブを追加しなさい。
そのタブに、「
表の書式設定」という名前でコマンドボタンを追加し、定義されているマクロ“
FormatTable”を登録してください。イメージは黄色い「
スマイル」とします。
解答例
1.新しいタブの追加
ファイルメニュー → オプション →
リボンのユーザー設定 から [開発]を選択し、「
新しいタブ」をクリックします。
2.ボタン作成
2.「
新しいタブ」を選択し、「
名前の変更」をクリック、「
個人用マクロ」と入力します。
同様に、「新しいグループ」を選択、名前の変更をクリックします。
「
表の書式設定」と入力、
スマイル図形を選択して「OK」ボタンをクリックします。
3.マクロの登録
コマンドの選択から「
マクロ」をクリック
FormatTable を作成した「
表の書式設定」の上にドラッグします。
オプションメニューを閉じると、新しいタブとボタンが追加されました。
リンクリスト