3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

日付時刻絡みの問題は、テストが難しい – Excelマクロ・VBA

2012年3月1日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

エクセルマクロ・VBA達人養成塾小川です。

今年はうるう年ということで、2月は29日までありました。

あなたにとって、昨日は、どういう一日でしたか?

僕にとって、昨日は、まさに「2月29日」らしい日でした。

それは2月最後の日であり、通常はありえない特別に追加された日であり、3月からの日々を迎えるための、まるで旅行前の最後の1時間のような日。

都内に降った大雪も、それまでの空気のよどみを一気に落とし、下水に押し流してくれた気がします。

ということで、さきほど、近所の神社におまいりをしてきました。

さてさて、そんなわけで。

うるう年と言えば、昨日、
シャープ製レコーダーに表示不具合 「うるう日」バグで「予約できない」
というニュースがありました。

4年に1度の「うるう日」にあたる2012年2月29日、シャープ製のブルーレイディスク(BD)レコーダーなどに、予約を行おうとしても

「この予約は最後まで実行できません」
「HDD残時間を増やすにはタイトル消去を行ってください」

といった誤ったメッセージが出る不具合が発生していたことが明らかになった。
ただ、予約そのものはできるようだ。

とのこと。

この記事では、あわせて、4年前のうるう年に生じた、「米ユナイテッド航空の自動チェックイン機が故障し、手動でのチェックインを余儀なくされた」という事件などなどについても紹介されていました。

高い値段を取っている大手メーカーの大衆向け製品でも、こういうことが起こってしまうんですね。

特殊なケースについてのテストというのは、そもそも後回しになりますし、どうしても見過ごされがちになります。

特に、今回のシャープでの件のようなものは、実際にそのタイミングが来る前にテストをするのはなかなかやっかいです。
海外でも使える仕様にしようともなれば、現地時間で動作するのかとか、そういうことをテストするための環境も作らなくてはなりませんし。

書いている人は分かりますが、エクセルVBAで自分用にちょちょっとプログラムを書いているときでも、そういうことはしょっちゅうですね。

日付時刻を扱うマクロを事務職の人が書くケースならば…。
例えば、祝日かどうかの処理をすっとばしてしまうとか、祝日が日曜日だったときの振替休日の処理をうっかりしてしまうとか。

日付時刻絡みの問題は、テストをするとか、すべてのテストケースを考え抜くとかが難しいですね。

先日紹介した、受講生村瀬さんのマクロでも、深夜残業時の計算を正しくできない、という課題がありました。

第1回: 給与計算ソフトは結構市販されていますが、融通が利かない場合も – Excelマクロ・VBA

第2回: 添削事例 – 給与計算をするマクロ(その2) – Excelマクロ・VBA

第3回: 範囲を指定してデータを一括クリアする – 給与計算をするマクロ(その3) – Excelマクロ・VBA

第4回: 就業時間内、時間外、深夜割増での賃金を計算する(その4) – Excelマクロ・VBA

第5回: 就業時間内、時間外、深夜割増での合計労働時間を一発で計算する(その5) – Excelマクロ・VBA

第6回: 労働時間と時給の情報を使って支払い額を計算したい – Excelマクロ・VBA

第7回: 重たいマクロでのセルの書式設定を回避する方法 – Excelマクロ・VBA

ただ、マクロでプログラムを書いているときならば、実行してから気がついて「あ、またやってしまった。まあ、いいや。チョコチョコっと直して..はい、おしまい!」で済ませられます。
あと、書いた本人であれば、ちゃんと動くかどうか心配なデータをマクロで処理したときには、自ずから、気になるべきことろは気になります。

そうそう。村瀬さんの給与計算マクロについては、深夜残業時の計算を正しくできない問題を正しく修正したものを彼が新たに送ってきたので、また、今月、折を見て紹介しようと思います。

それでは、また、昼過ぎに。

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド