VBAは,一般的なプログラミング言語と比べると,できることは限られていますが,印刷が簡単にできることが最大のメリットになります。このメリットを生かし,計算プリントを作成するプログラムを作ってみました。興味のある方はのぞいてみてください。
プログラムは保護してありませんので,自由に見ることができます。
「百マス計算プリント」
「計算プリント」
「筆算プリント」
「かけ算の筆算プリント」
「わり算の筆算プリント」
「分数プリント」
「万年カレンダー」
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形式の圧縮ファイルです