Excel VBA・業務ツールの仕様書の書き方|小さな開発の仕様のまとめ方

Excel VBAや業務ツールの仕様書の書き方を解説する記事のアイキャッチ。オフィスの机のノートPCと1枚の書類

当サイトの記事は編集部が国土交通省・IPA・デジタル庁などの公的機関の情報、規格や業界団体の公開情報を調べて独自に執筆しています。記事内にIT・Webエンジニアの転職サービスへの案内(広告)を含みます。

Excel VBAで作った業務ツールを『仕様書にまとめておいて』と頼まれた。でも、システム開発のような分厚い仕様書を書くほどの規模でもない。そんなふうに迷っている方も多いはずです。

結論から言うと、VBAの仕様書は「入力ファイル」「処理の手順」「出力」「困った時の連絡先」の4つを1枚にまとめれば、まずは十分です。作った本人がいなくても、別の人が使えて、直せる状態を目指します。

この記事を読めば、VBAやマクロの仕様書の書き方と、そのまま使える1枚のテンプレートが分かります。

目次

VBAの仕様書はなぜ必要?どこまで書く?

先に結論

VBAの仕様書は、作った人がいなくなっても使い続けられるようにするための物です。小さなツールなら、分厚い設計書はいりません。1枚にまとめた仕様書と、コードの中の説明で足ります。

『VBAくらいで仕様書なんて大げさじゃない?』と思いますよね。実は、小さなツールほど仕様書が無くて困る場面が多いんです。

例えば、毎月の集計マクロを作った人が異動した後、元のExcelの列が1つ増えただけで動かなくなった。こんな時、何を読み込んで何を出すツールだったかが分からないと、直す人は一からコードを読むしかありません。

規模に合わせて、どこまで書くかの目安を表にしてみました。

ツールの規模使う人書いておく物
自分だけが使う小さなマクロ自分コードの先頭のメモと、使い方の数行
部署で使う業務ツール部署のメンバーこの記事の1枚の仕様書
複数の部署や外部の人も使うツール社内の広い範囲1枚の仕様書に加えて、要件定義書や設計書

部署で使うツールなら、まずは1枚の仕様書から始めてみてください。

VBAの仕様書は4つで1枚にまとめる

ここが大事

VBAの仕様書は「入力ファイル」「処理の手順」「出力」「困った時の連絡先」の4つで書きます。特に「困った時の連絡先」は、ツールを長く使ううえで欠かせない項目です。

ここでは、編集部が考えた1枚の仕様書の形を紹介します。VBAの仕様書のテンプレートとして、そのままExcelのシートに写して使えますよ。

書くこと書く中身書き方のコツ
入力ファイル読み込むファイルの名前、置き場所、シート名、列の並び列の並びが変わると動かないことも書く
処理の手順ボタンを押してから終わるまでに何をするか1行に1つの処理で、順番に書く
出力作られるファイルや表、保存する場所、名前の付け方上書きするのか、新しく作るのかを書く
困った時の連絡先作った人、今の担当、エラーの時に見る所個人名でなく担当の部署で書く
VBAの業務ツールの仕様を入力ファイル・処理の手順・出力・困った時の連絡先の4つで1枚にまとめる表の図解

入力ファイルは「前提」を書く

VBAのツールが止まる原因で多いのは、読み込むファイルの形が変わることです。シートの名前や列の並び、1行目が見出しかどうかなど、ツールが前提にしていることを書き出しておきましょう。

『そんなの見れば分かるでしょ』と思う所ほど、書いておくと後で助かりますよ。

処理の手順は、作業の言葉で書く

処理の手順は、コードの言葉ではなく、ふだんの作業の言葉で書きます。手作業でやっていた時の手順を思い出すと書きやすいです。

例えば、手作業の手順をそのまま並べると、こんな書き方になります。

順番処理の手順の書き方
1売上のシートから、今月の行だけを抜き出す
2担当者ごとに金額を合計する
3合計を集計表のシートに貼る
4集計表を新しいファイルとして保存する

1行に1つの処理になっていれば、どこで止まったかを探す時にも役に立ちますよ。

エラーの時にどうなるかも書いておく

『正しく動く時のことだけ書けばいいよね』と思いがちです。ただ、困るのは決まって動かなかった時なんです。

ファイルが見つからない時、空の行があった時、同じ名前のファイルがすでにある時に、ツールがどう動くかを書いておきましょう。止まるのか、メッセージを出して続けるのかが分かるだけで、使う人の不安がぐっと減ります。

よくある場面書いておくこと
読み込むファイルが見つからないメッセージを出して止まるか
途中に空の行がある空の行を飛ばすか、そこで終わるか
同じ名前のファイルがある上書きするか、名前を変えて保存するか

VBA仕様書のサンプル(記入例)

先に結論

記入例を見ると、どれくらいの細かさで書けばいいかがつかめます。ここでは、編集部が作った架空のツールで書いてみました。

『実際に書くと、どんな感じになるの?』という方のために、VBAの仕様書のサンプルを作ってみました。毎月の売上の集計をするツールという想定です。

書くこと記入例
ツールの名前月次売上集計ツール
目的毎月の売上の集計にかかる手作業を減らす
入力ファイル共有フォルダの「売上」フォルダにある、その月の売上のExcel。シート名は「売上」。1行目は見出し、列は日付・担当者・金額の順
処理の手順1. 集計したい月を入力する/2. その月の行だけを抜き出す/3. 担当者ごとに金額を合計する/4. 集計表のシートに貼る
出力同じフォルダに「集計_年月」という名前で新しいファイルを作る。上書きはしない
エラーの時売上のファイルが見つからない時は、メッセージを出して止まる
困った時の連絡先作った部署は営業管理。今の担当は営業管理の集計担当
更新の記録作った日、直した日と直した内容を書く

このサンプルは架空の物です。項目の名前は、自分の職場の言葉に合わせて変えてみてください。

項目ごとの書き方の見本は、仕様書のサンプル・記入例でも紹介しています。

書き終わったら確かめること
  • 作った本人以外が読んで、ツールの使い方が分かる
  • 入力ファイルの置き場所と形が書いてある
  • 出力が上書きか、新しいファイルかが書いてある
  • エラーの時にどうなるかが書いてある
  • 困った時に誰に聞けばいいかが書いてある

VBAの設計書・要件定義書はいる?

先に結論

部署の中で使う小さなツールなら、VBAの設計書や要件定義書を別に作らなくても困らないことが多いです。ただ、使う人が広がる時や、外部に作ってもらう時は、要件定義書から作っておくと安心です。

『VBAでも、ちゃんとした設計書を書くべき?』と迷う方もいますよね。目安は、作る人と使う人が別かどうかです。

場面作っておきたい物理由
自分で作って自分の部署で使う1枚の仕様書引き継ぎに困らなければ十分
他の部署に頼まれて作る1枚の仕様書と、頼まれた内容のメモ何を頼まれたかの食い違いを防ぐ
外部や情報システム部門に作ってもらうVBAの要件定義書作る人に、何がほしいかを正しく伝える
処理が多く、何人かで直していくVBAの設計書どの処理がどこにあるかを共有する

VBAの設計書に書くこと

設計書を作る場合は、1枚の仕様書に「どのモジュールで何をするか」を足すイメージです。プロシージャ(処理のまとまり)ごとに、名前、役目、受け取る物と返す物を一覧にしておくと、直す人が迷いません。

機能ごとの仕様の書き方は、機能仕様書とは?も参考になります。

コードの先頭に書いておくこと

仕様書とは別に、コードの先頭にも短いメモを残しておくと、直す人がとても助かります。仕様書を開かなくても、何のためのコードかが分かるからです。

コードの先頭のメモ
  • このツールの目的を1行で書く
  • 読み込むファイルと出力するファイルを書く
  • 仕様書の置き場所を書く
  • 直した日と直した内容を書く
よくある失敗

コードを直したのに仕様書を直さず、仕様書と中身が食い違ってしまうことがあります。直した時は、仕様書の「更新の記録」に日付と内容を1行足すのを習慣にしておきましょう。

VBAの仕様書を書いてから、読んでもらい、直しながら育てていく流れを示した図解

RPAの仕様書テンプレートにも使える

先に結論

画面操作を自動にするRPAでも、仕様書の考え方は同じです。4つの項目に「操作する画面」と「止まった時の手作業の手順」を足すと、RPAの仕様書テンプレートになります。

RPAのツールは、人がパソコンでしていた操作を順番に自動で行います。そのため、処理の手順を「どの画面で、どこを押すか」まで書いておくのがポイントです。

足す項目書く中身
操作する画面どのシステムの、どの画面を使うか
画面が変わった時画面の見た目が変わったら止まる可能性があること
止まった時の手作業自動で動かない時に、人がどう代わりにやるか

『自動化したら手順は忘れてもいいよね』と思いがちです。ただ、止まった時に手でやれる人がいないと業務が回らなくなるので、手作業の手順は残しておきましょう。

例えば、毎朝システムから一覧を出してExcelに貼るRPAなら、こんな一文を足しておくと安心です。

「システムの画面が変わってRPAが止まった時は、一覧の画面から手で出力し、集計のシートに貼る。手順は別紙のとおり。」

RPAの仕様書は、システムの画面が変わるたびに見直しが必要になります。画面が変わる予定を聞いたら、仕様書も一緒に確かめる習慣を付けておきましょう。

VBA・マクロの仕様書でよくある相談

先に結論

よく見かけるのは「VBAで仕様書を書く人はいるのか」「ボタンで仕様書の範囲を出力したい」「VBAの経験を仕事にしたい」の3つです。

よく見かける相談を、内容をまとめた形で紹介します。

相談1:VBAで仕様書を書く人はいる?

VBAで設計の仕様書を書く人はいるのか、それともVBAくらいでは書かないのか、という相談です。

職場によって違いますが、部署で使い続けるツールなら書いておく方が安心です。マクロの仕様書の書き方は、この記事の1枚で十分です。まずは書いてみて、困った所を足していけば大丈夫ですよ。

相談2:ボタンを押したらシートの一部を仕様書として出したい

Excel VBAで作った見積書のシートから、ボタンを押したら特定の範囲を仕様書として出力したい、という相談もあります。

こうした時も、作る前に「どの範囲を」「どんな形で」「どこへ出すか」を1枚に書き出してみてください。入力と出力がはっきりすると、作り方も調べやすくなります。

相談3:VBAの経験を仕事にしたい

VBAでツールを作れるようになったので、もっと本格的なソフトを作る仕事がしたい、という相談も見かけます。

業務の困りごとを聞いて、ツールの仕様にまとめた経験は、社内SEの仕事とも重なります。社内SEと仕様書の関わりは、社内SEと仕様書で紹介しています。

今の職場でツール作りを任されながら経験を積むのも、立派な道です。そのうえで、ITの仕事に興味が出てきた方は、求人の仕事内容を比べてみると道が見えてきますよ。

IT・Webエンジニアの転職(PR)

仕様書を書く経験を活かせる職場を探すなら、求人も比べてみる

要件定義や設計を任されるか、発注側か開発側か、扱うシステムや働き方は会社によって大きく違います。担当したい工程や条件から、IT・Webエンジニアの求人を比べてみてください。

無料ITエンジニアの求人を探す

求人の条件・待遇は各求人票と応募先の案内でご確認ください。

仕様書そのものの意味や、設計書・要件定義書との違いは、仕様書とは?意味と目的、設計書・要件定義書との違いで紹介しています。

よくある質問

VBAの仕様書の書き方で一番大事なことは?

作った本人がいなくても、別の人が使えて直せることです。入力ファイル・処理の手順・出力・困った時の連絡先の4つを1枚に書いておきましょう。

VBAの仕様書のテンプレートはありますか?

この記事の4つの項目と記入例の表を、Excelのシートに写して使えます。項目の名前は職場の言葉に合わせて変えてください。

マクロの仕様書はコードの中に書いてもいいですか?

コードの先頭に目的や更新の記録を書いておくのは良い方法です。ただ、使う人はコードを開かないことも多いので、使い方は別の1枚にもまとめておくと安心です。

仕様書をどこに置いておけばいいですか?

ツールのファイルと同じフォルダに置くのがおすすめです。ツールの中に説明のシートを1枚作っておく方法もあります。

VBAの要件定義書は誰が書きますか?

ツールがほしい部署が「何に困っていて、何ができれば助かるか」を書くのが基本です。作る人はそれを読んで、入力や出力の形を一緒に詰めていきます。

まとめ

この記事の要点
  • VBAの仕様書は、作った人がいなくても使い続けるための物
  • 入力ファイル・処理の手順・出力・困った時の連絡先の4つを1枚にまとめる
  • 部署の中のツールなら、設計書や要件定義書は無くても困らないことが多い
  • RPAの仕様書は、操作する画面と止まった時の手作業を足す
  • 直したら仕様書の更新の記録も直す
仕様書ドットコム

仕様書ドットコム 編集部

仕様書の意味・種類・書き方から、システム開発の要件定義書・設計書・テスト仕様書、公共工事の標準仕様書・共通仕様書、住宅や発注の仕様書、仕様書を書く仕事のキャリアまでを、初めて仕様書に向き合う人が自分で判断できるように整理している情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次