経理業務でデバッグツールが使えたり会計ソフトが学習できたら便利なのに

経理という仕事をしていると、どの職場でも次のような言葉が耳に入ってきます。

「あぁ合わない、合わない!」

 

何が合わないのかというと、「数値の合計が合わない」ということです。企業というのは日々膨大な取引をしています。取引先へ自社の製品を販売したり、販売した製品の代金を回収したり、

 

または取引先から商品やサービスを購入してそのための代金を支払ったり、それ以外にも社員の営業活動の経費を精算したり等様々なお金の出入りがあります。

 

そういった日々の膨大なお金の流れを算出する、というのが経理業務の中のひとつとしてあるのですが、これが「全て一発で合う」ということはまずありません。

 

というのも途中で簡単な計算ミスをしたり、そもそも計算の元になる数値自体が間違っているという可能性もあります。他にも取引先に請求書を出し忘れていたりとか、エクセルの関数で消費税の端数の計算が一部違っていて1円合わないとか、

 

仮に合計が合ったとしても、途中の計算が微妙にずれていたり、必要な数値が入っていなかったりなど、数え上げたらキリがありません。

 

どんな場所でもどんな計算でも「ミス」する可能性は存在しているわけです。以前まではそういったミスというのはどうしようもないものだと思っていました。

 

しかしそのような考え方は、プログラミング言語というものを勉強してからちょっとずつ変わってきました。というのもプログラミングには「デバッグ」というものがあるからです。

 

このブログではVBAというプログラミング言語の内容や業務での効果についていろいろ書いてきましたが、業務を効率化するためのプログラムをつくるときにVBEに搭載されている「デバッグ機能」には何度も助けられました。

 

今回はこの「デバッグ」というものについて経理業務と絡めて思ったことを書いていってみます。

プログラミングやVBAにおける「デバッグ」とは

そもそも「デバッグ」とはどういったものなのでしょうか。wikipediaには次のように書かれています。

デバッグ(debug)とは、コンピュータプログラムや電気機器中のバグ・欠陥を発見および修正し、動作を仕様通りのものとするための作業である。

 

サブシステムが密結合であると、1箇所の変更が別の箇所でのバグを作り出すので、バグの修正がより困難となる。

 

要は問題がある所を探して、その部分を修正するということですね。プログラミングという領域においては、さらにこのデバッグをより簡単にできるようにした「デバッガ」というツールがあります。

 

同様にwikipediaには以下のように書かれています。

デバッガを使うとプログラムの実行について観測、停止、再開、速度を落としての実行、メモリ中の値の変更が行え、さらには時間を巻き戻すことさえ可能な場合がある。また、デバッグ作業を行う人のことを指してデバッガと呼ぶこともある

 

デバッグをより簡単にできるツールはVBE(VBA用のエディター)にもあります。実際にこれを使ってプログラミングをしたからこそわかるのですが、本当にびっくりします。

 

要はプログラミングで間違っても、その部分をエラーとしてVBEが「教えてくれる」のです。

ExcelVBAのエラーの種類

プログラミングをしていると様々なエラーが出てきます、特に自分のような初心者の場合は。ではVBAでプログラミングしているとどんなエラーがでてくるのでしょうか。

 

この部分を詳細に伝えようとするとかなり長くなってしまいそうなので簡単に説明していきます。

 

ExcelのVBAでマクロをつくる際に発生するエラーとして次の2種類に分類できると言われています。

  1. 文法エラー
  2. 論理エラー

 

文法エラーは主にVBAの構文や文法などに違反した形で記述した時に発生します。例えば次のようなコードです。

Range("A1).select

何が間違っているのかというと、A1の後ろに”(ダブルクォーテーション)がありません。これだとExcelは反応してしてくれずにエラーを表示してきます。

 

正確には以下のような形にしないといけません

Range("A1").select

 

論理エラーはVBAの文法的な間違いはなくても、論理的に矛盾がある場合に発生するエラーです。これはコンパイルエラーと実行時エラーの2つがあり詳細は割愛しますが、例えば次のようなケースが考えられます。

 

エクセルの3枚目のシートのA1に「エクセル」の文字列を入力しようとしても3枚目のシートがない場合は「エクセル」の文字列を入力しようがないのでエラーが発生してエクセルからエラーが表示される、といった具合です。

 

しかし意図通りの結果ではないのにエラーが表示されないような場合もあります。こういった場合はどうすればいいのでしょうか。

 

エラーに対してエクセルとかVBAとかVBE、デバッガを「すごい」と思ったのがエラーを「追跡できる」という部分です。

 

この部分も説明しだすと長くなってしまうので割愛しますが、例えば「ブレークポイントの設定」という機能によってコードを一行ずつ実行して動作を確認していくとか、「ウォッチウィンドウ」という機能によってコード内の変数や式がどう動いていっているのかを確認できるのです。

 

他にもエラーが出た際にそれをわかりやすく詳細にチェックできる機能がまだまだたくさんあるのですが、VBEのデバッグ機能には以上のようなことができるわけです。

 

ここで思ったのは、経理業務とか会計ソフトを使っている時にプログラミングのデバッグ機能のようなものががあればどんなにチェックが楽になるだろうか、ということです。たぶんこれは経理という業務に限らず、事務的な仕事全般に言えるのではないでしょうか。

 

コメント