−ホームへ−

Excel VBAでつくる算数計算プリント

はじめに…

 Excelには一連の作業を自動でできるように,VBA(Visual Basic for Applications)というプログラミング言語が用意されています。このVBAを使うと,算数の計算プリントなども自動で作成することができます。
 VBAは,一般的なプログラミング言語と比べると,できることは限られていますが,印刷が簡単にできることが最大のメリットになります。このメリットを生かし,計算プリントを作成するプログラムを作ってみました。興味のある方はのぞいてみてください。
 なおExcelのバージョンは2007以降のものが必要です。
 
 プログラムは保護してありませんので,自由に見ることができます。

「百マス計算プリント」
「計算プリント」
「筆算プリント」
「かけ算の筆算プリント」
「わり算の筆算プリント」
「分数プリント」
「万年カレンダー」



「百マス計算プリント」

 Excelのシートに作られた百マス計算の表の数字を,ランダムに並べ替えるプログラムです。答えを表示することもできます。

@ ファイルを開くと,シートの左側に百マスの表が,右側にボタンがあります。

A ボタンは
  「たし算の問題作成」
  「ひき算の問題作成」
  「かけ算の問題作成」
 の3つと
  「答えの表示」
  「答えの非表示」
 の2つがあります。

B 問題作成のボタンを押すと,表の数字が変わります。また「答えの表示」ボタンを押すと,答えが表の中に表示されます。


サンプルプリント(pdfファイルです)
表の中の数字と,表題の下にある「(たし算)」は自動で作成します。
それ以外の所は,自由に書きかえることができます。

←zip形式の圧縮ファイルです



「計算プリント」

 この「計算プリント」は,小学1年生を対象にして作成しました。
 A4の用紙に20個の式を自動で作成します。

@ ファイルを開くと,「百マス計算プリント」と同じように,シートの左側に式が表示され,右側にボタンが表示されます。

A 問題の種類は,(一位数)+(一位数)のたし算の問題と,(二位数)−(一位数)までのひき算の問題です。
 ひき算の引かれる数の十の位は,1または2のみです。

B それぞれのボタンを押すと,20個の横の式が表示されます。
  「答えの表示」ボタンを押すと,答えが表示されます。

C 印刷範囲はあらかじめ設定してありますので,そのまま印刷すれば,プリントが完成します。

サンプルプリント(pdfファイルです)
問題は(二位数)−(一位数)で繰り下がりのあるひき算です。答えも表示してあります。

←zip形式の圧縮ファイルです



「筆算プリント」

 この「計算プリント」は,三位数までのたし算とひき算と,二位数×一位数のかけ算の問題を自動で作成します。

@ 「問題の作成」ボタンを押すとユーザーフォームが開き,出題する問題の種類を選びます。

B 問題が出題された後,数字を書きかえることもできます。その場合「答えの表示」ボタンを押すと,書きかえられた
 数字で答えを表示します。

サンプルプリント(pdfファイルです)
問題は(三位数)−(三位数)のあるひき算です。答えも表示してあります。

←zip形式の圧縮ファイルです



「かけ算の筆算プリント」

 この「計算プリント」は,マス目のプリントにかけ算の筆算の問題を自動で作成します。

@ 「問題の作成」ボタンを押すとユーザーフォームが開き,出題する問題の種類を選びます。

A 問題の種類は,二位数同士のかけ算から,四位数×三位数までのかけ算です。

B 問題が出題された後,数字を書きかえることもできます。その場合「答えの表示」ボタンを押すと,書きかえられた
 数字で答えを表示します。
 問題には0を含む数字は作成されませんが,〇を含む数字に書き直した場合でも,答えは正しく表示されます。

サンプルプリント1(pdfファイルです)
問題は(二位数)×(二位数)です。

サンプルプリント2(pdfファイルです)
問題は(四位数)×(三位数)です。
数字の一部を0に書きかえて,答えを表示させました。

←zip形式の圧縮ファイルです



「わり算の筆算プリント」

 この「計算プリント」は,マス目のプリントにわり算の筆算の問題を自動で作成します。

@ 「問題の作成」ボタンを押すとユーザーフォームが開き,出題する問題の種類を選びます。

A 問題の種類は,二位数÷一位数から,四位数÷三位数までのわり算です。

B 問題が出題された後,数字を書きかえることもできます。その場合「答えの表示」ボタンを押すと,書きかえられた
 数字で答えを表示します。

サンプルプリント1(pdfファイルです)
問題は(三位数)÷(二位数)です。

サンプルプリント2(pdfファイルです)
サンプルプリント1の問題に答えを表示された場面です。

←zip形式の圧縮ファイルです



「分数プリント」

 この「分数プリント」は,マス目のプリントに分数の加減乗除の問題を自動で作成します。この「分数プリント」はまだ作りかけなので,問題は真分数同士の計算で答えも真分数になります。これから仮分数や帯分数の問題もできるようにしたいと思います。

@ 「問題の作成」ボタンを押すとユーザーフォームが開き,出題する問題の種類を選びます。


A 分数の大きさは変えることができますが,範囲を小さくすると問題が作成できない場合があります。そのときはメッセージが表示されます。

B 「答えの表示」ボタンを押すと,答えを表示します。

サンプルプリント1(pdfファイルです)
問題は答えが約分できるひき算です。

サンプルプリント2(pdfファイルです)
サンプルプリント1の問題に答えを表示した場面です。

サンプルプリント3(pdfファイルです)
問題は答えが約分できるわり算です。

サンプルプリント4(pdfファイルです)
サンプルプリント3の問題に答えを表示した場面です。途中での約分も表示します。
←zip形式の圧縮ファイルです



関数で作る「万年カレンダー」

 この「万年カレンダー」は,VBAではなく関数だけで作りました。関数は日付や曜日を表示するセルの所だけに記述してあるので,行や列を挿入したり削除したりすることもできます。

@ Sheet1ではカレンダー形式で日付を表示します。
A Sheet2ではSheet1と同じ形式ですが祝日も表示できるようにしました。
B Sheet3では日付を縦に並べ,曜日を表示します。
C Sheet4ではSheet3と同じ形式ですが祝日も表示できるようにしました。

どれも西暦と月を入力するとカレンダーを表示します。

サンプルプリント1(pdfファイルです)
Sheet2で2014年5月のカレンダーを表示したものです。このシートを元に様々なアレンジができると思います。

サンプルプリント2(pdfファイルです)
Sheet4で2015年9月のカレンダーを表示したものです。この月は「国民の休日」があります。

←zip形式の圧縮ファイルです