マクロで表を作ってみよう! − GoGoマクロ!のWebサイト

HOME > レッスン > 表を作る(1)

Lesson 2

マクロで表を作ってみよう!(その1)



初めの一歩(レッスン1)





はじめに
当サイト「Go!Go!マクロ」の三太郎式勉強方法は、楽しいレッスン形式です。

<MS-Excelのバージョンについて>
 ◆本誌はExcelの最新バージョンに準拠して書かれています。
 (2007やExcel2010〜以降は、ほぼ操作方法は同じです。)
 ◆旧バージョン(Excel97〜2003)をご使用の方は こちら をご覧ください。
 ◆お使いのExcelバージョンが分からない場合の見分け方は こちら



Lesson 2  --- マクロで表を作ってみよう!---

 テーマ:「マクロの記録」機能を使って、 表を作る


今回作成する表は、「毎月の入出金金額から年間の合計を集計する」といった ごく簡単な表です。 表の項目は、とりあえず 「月度」 「入金額」 「出金額」 の3つだけにしておくことにします。




1)
まずはエクセルを起動させてから、(空白のブックを立ち上げてください。)
―――――――――――――――――――――――――――+
1.[開発]タブの[コード]で [マクロの記録] をクリック →
「マクロの記録」画面が出るので、そのまま[OK]をクリック。

 ※[開発]タブが表示されていない場合は こちら の表示の
 させ方をご覧ください。(2007と2010以降では多少異なります
 のでご注意ください。)

2.A1のセルから順番に項目名を次のように打っていきます。
 A1に「月度」、B1に「入金額」、C1に「出金額」

3.次に月度にあたる数字をA2のセルから順番に次のように
 打っていきます。

 A2に「1」、A3に「2」、A4に「3」・・・、A13に「12」

4.最後にその下のA14のセルに「合計」と打ってください。

5.打ち終わったら一度[Enter]キーを押してから、
 [開発]タブの[コード]で [■記録終了] をクリック。
―――――――――――――――――――――――――――+

とりあえず、これで前準備が完了しました。



2)
では、さっそく実行してみましょう。
―――――――――――――――――――――――――――+
1.まず、シートの[Sheet2]を開きます。
 シートが1つしかない場合には、下のシートタブから「新しい
 シート」ボタンを押して、まだ何も書かかれていない空のシート
 [Sheet2]を作成し、その空のシートを開いた状態にしてください。

2.そして、[開発]タブの[コード]で [マクロ] をクリック →
「マクロ」画面が出るのでそのまま[実行]をクリック。
―――――――――――――――――――――――――――+

[Sheet2]に、[Sheet1]に作ったのとまったく同じ表が自動的にできた ことと思います。

この原理は、前回お話したのと全く一緒です。


3)
次に、ここからが今日の本題です。 表を作るというからには、これだけでは何か物足りません。罫線とか 書式とかを整えたいですよね。
―――――――――――――――――――――――――――+
1.シートは現在開いている[Sheet2]のままで、

2.[開発]タブの[コード]で [マクロの記録] をクリック →
「マクロの記録」画面が出るので、そのまま[OK]をクリック。

3.まず、罫線を引きます。
(ここでの罫線等は適当に設定しても構いませんが、後で見る
 マクロプログラムの見た目が変わってしまうので、なるべく
 以下の説明通りに行なうようにしてください。)

 A1のセルからC14のセルまでを選択した状態にしてから、
 [ホーム]タブの[セル]で[書式設定]をクリック → 「セルの
 書式設定」画面の[罫線]タブで罫線を普通の線種(デフォル
 トのスタイル)の線で縦横全てに設定します。

4.続けて、現在表示されている「セルの書式設定」画面の
 [配置]タブを開いて [文字の配置]の横位置のプルダウン
 から[中央揃え]を選んでください。

5.終わったら[OK]ボタンをクリックして「セルの書式設定」
 画面を閉じます。

6.[開発]タブの[コード]で [■記録終了] をクリックして、
 マクロの記録を終了させます。
―――――――――――――――――――――――――――+


これで、ちょっとは表らしくなりました(?)ね。


4)
実行してみましょう。
―――――――――――――――――――――――――――+
1.まず、下のシートタブからまだ何も書いていない空のシート
 [Sheet3]を開いてください。

2.そして、[開発]タブの[コード]で [マクロ] をクリック →
「マクロ」画面が出るのでそのまま[実行]をクリック。

3.続けてもう一度、[開発]タブの[コード]で [マクロ] を
 クリック → 「マクロ」画面が出るので、今度はマクロ名に
 [Macro2]という方を選んでから[実行]をクリック。
―――――――――――――――――――――――――――+

これで、[Sheet3]に先ほど作ったのと同じ表が自動的にできたことと思います。

もうお気付きかも知れませんが、この表を作った時に2回に分けて(項目名を 打った時と罫線などを入れた時)「マクロの記録」を行ないましたので、 [Macro1] と [Macro2] という2つのマクロプログラムが作成されたという訳 です。

当然のことながら、[Macro1] の方が最初にやった項目名を打った時のもので、 [Macro2] が後からやった罫線などを入れた時のものです。



5)
では、ちょっとここでマクロプログラムの中身をのぞいてみましょう。
―――――――――――――――――――――――――――+
1.[開発]タブの[コード]で [Visual Basic]をクリック。
 すると、見慣れたExcelの画面とは別に、もう一つ見慣れない
 画面(前回も見ましたが)が表示されたと思います。

2.この画面の左上半分の[+標準モジュール]という所の+の部分
 をクリックすると、そのすぐ下に[Module1]と表示されるので、
 その[Module1]をダブルクリックします。
―――――――――――――――――――――――――――+


+++++++++++++++++++++++―
Sub Macro1()
'
' Macro1 Macro
'

'
  ActiveCell.FormulaR1C1 = "月度"
  ActiveCell.Characters(1, 1).PhoneticCharacters = "ゲツ"
  ActiveCell.Characters(2, 1).PhoneticCharacters = "ド"
  Range("B1").Select
  ActiveCell.FormulaR1C1 = "入金額"
  ActiveCell.Characters(1, 2).PhoneticCharacters = "ニュウキン"
  ActiveCell.Characters(3, 1).PhoneticCharacters = "ガク"
  Range("C1").Select
  ActiveCell.FormulaR1C1 = "出金額"
  ActiveCell.Characters(1, 2).PhoneticCharacters = "シュッキン"
  ActiveCell.Characters(3, 1).PhoneticCharacters = "ガク"
  Range("A2").Select
  ActiveCell.FormulaR1C1 = "1"
  Range("A3").Select
  ActiveCell.FormulaR1C1 = "2"
      ・
      ・
      ・
  Range("A13").Select
  ActiveCell.FormulaR1C1 = "12"
  Range("A14").Select
  ActiveCell.FormulaR1C1 = "合計"
  ActiveCell.Characters(1, 2).PhoneticCharacters = "ゴウケイ"
  Range("A15").Select
End Sub
Sub Macro2()
'
' Macro2 Macro
'

'
  Range("A1:C14").Select
  Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
  End With
  With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .Weight = xlThin
    .ColorIndex = xlAutomatic
  End With
      ・
      ・
      ・
  With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
  End With
End Sub
+++++++++++++++++++++++―


右側にこんなものが表示されたはずですが、これが先ほどお話した[Macro1] と [Macro2] という2つのマクロプログラムの正体です。

※ちょっと長いプログラムになっていると思いますが、今、このプログラムの  意味を知る必要は全くありません!し、多少の違いも気にする必要はありま  せんので、安心してください。



6)
では次に、このプログラムをちょっとだけいじってみましょう。
―――――――――――――――――――――――――――+
1.プログラムの中ほどの
 End Sub
 Sub Macro2()
 と書いてある2行だけを削除してください。

※ちょっと長いプログラムなので、この2行の位置が中々見当
 たらない方は、たぶん49行目と50行目くらいの所なんですが
(数えなくていいです)
 
  '
  ' Macro2 Macro
  '
 という「緑色」で書かれている行を目印にして、
 この1行上にありますので、捜してみてください。
―――――――――――――――――――――――――――+


7)
実行してみましょう。
―――――――――――――――――――――――――――+
1.タスクバーでExcelの画面に戻って、4つ目のシート[Sheet4]を
 新たに作っておいてください。(Excel画面下部の[ワークシート
 挿入]タブ または[新しいシート] +ボタンをクリック。)

2.「Sheet4」を開いてた状態で、
 [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」
 画面が出るのでそのまま[実行]をクリック。

3.今回はマクロ名に「Macro1」しかないので、そのまま[実行]
 をクリック。
―――――――――――――――――――――――――――+


今度は1回のマクロ実行で、罫線まで入った表ができあがりました。

要するに、2つのマクロを1つにくっ付けただけです。(マクロ1の終わりの しるしとマクロ2のはじめのしるしを削除したという訳です。)

この方法を使えば、2つでも3つても4つでも「マクロの記録」で作った マクロをくっ付けて、1回で実行できる1つのマクロにすることが簡単にでき ます。6)で削除した2行を同じように消していくだけです。

今回はこれで終了です。

終わる時は、下記のバージョン別操作にて「Excelマクロ有効ブック(*.xlsm)」で 保存しておくと自動的にこのマクロも一緒にExcelファイルに保存されます。

今日作った入出金の表は次回もこの続きでまた使いますので、下記方法にて 必ず保存しておいてください。(なお、今回は第2回目なのでファイル名を "gogo02.xlsm"と付けておくと あとあと便利です。)

【Excel2007】 の場合
画面左上の[Office]ボタン→[名前を付けて保存]→上から2番目の[Excelマクロ 有効ブック(M)]→[名前を付けて保存]画面にてファイル名を指定して、[保存] ボタンを押す。

【Excel2010〜2021、及びMicrosoft 365(旧Office365)】 の場合
「ファイル」→「名前を付けて保存」→「名前を付けて保存」画面の 「ファイルの種類(T)」欄で、プロダウン2番目の「Excelマクロ有効ブック  (*.xlsm)」を選択し、「ファイル名(N)」に 任意のファイル名 を入れて 「保存」ボタンを押す。

※注意)
上記の「ファイルの種類(T)」欄で「Excelブック(*.xlsx)」にて保存した場合は 作成したマクロは消えてしまいますので くれぐれもご注意ください。



NEXT >>
マクロで表を作ってみよう!(その2)



 

読者数1万人達成しました!

エクセルで 最大級の
メールマガジン。
まぐまぐ殿堂入り

最新号は 今すぐ ↓↓↓ 登録

メールアドレス:

Powered by
まぐまぐ

完全まぐまぐ配信なので登録安心です!


エクセルマクロの検定のページ