はじめに
当サイト「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)