以前に、請求書の作成方法を紹介しました。
今回は、給料明細の作成を紹介します。
給料明細の作成は、ほとんどがオートメーションですが、Excelでもカンタンにできます。
目次
給料明細を作成する究極の参照方法
こんにちは。伊川(@naonaoke)です。
私の会社では、給料明細は、封入されて、手渡しでいただいています。
もちろん紙です。
こんなものでも、ペーパーレス化をしたほうが良いのかなと思います。
今回は、Yahooの知恵袋で見つけた質問をヒントに作成しました。
特に難しいコードでもありません。
また、究極の参照方法も、合わせて紹介します。
このブログはこんな人にお勧め
- VBAを勉強している人
- 会社で、何等かの書類をExcelで作成している人
- 書類作成業務に関して、時間短縮をしたい人
このブログを、読み終わるころには・・・・
1番シンプルで、難しいこともありません。
しかし、イコールで繋ぐには、データが、整形させてなくてはいけません。
整形されているデータは、データベースから抽出するしかないのです。
データをイコールで参照するとき
Yahooの知恵袋では、下記のような条件で、質問していました。
給料明細を作成したい
自動で、給料明細をPDFで保存したい
給料のデータベースは、Excelに保存する必要はない。
この質問の中で、キモとなる部分は、給料のデータベースは、Excelに保存する必要はない。
この部分です。
この条件から察するに、給料のデータベースは、他で保存しているということになります。
つまり、何等かのデータベースに、給料のデータがあり、そのデータをExcelに、貼り付けているのではなか?
こんな予想が立ちます。
つまり、上記のようなデータがあるということです。
データをイコールで参照するとき 作業手順 その1 給料明細のフォーマットを作成する
給料明細のフォーマットは、適当にダウンロードしました。
初めから作成する必要はないと思います。
しかし、フリーのフォーマットではダメと言われた場合は、覚悟を決めて、作成するしかありません。
また、セルの結合は、罪深いと言いますが、今回に限っては、セルを結合しても大丈夫です。
イコールで参照するので、結合しても問題ありません。
フォーマットが完成すれば、9割完成と思って間違いありません。
データをイコールで参照するとき 作業手順 その2 データを参照する
上記の給料明細に関しては、普通に、イコールで参照しています。
VLOOKUP関数、Index関数、Match関数、XLOOKUP関数などは一切使用していません。
上記の関数を利用する場合は、何かの中から、特定の値を参照する場合に利用します。
しかし、データがすでに整形されているので、伊川直助の、給料データは、Sheet2の2列に集約されています。
だから、VLOOKUP関数、Index関数、Match関数、XLOOKUP関数の出番はありません。
一番シンプルなイコールが活躍します。
データをイコールで参照するとき 作業手順 その3 数式のエラーを回避する
上記のように、イコールでデータを参照しています。
伊川直助の給料明細を作成したら、伊川直助のデータを削除すればいいのですが、削除すると、数式がエラーになります。
こエラーを回避するVBAを作成する必要があります。
Sheet2のRange(“A2”)~Range(“U2”)をクリアにする。
データが整形されているので、特に変数等を利用する必要はありません。
そして、Range(“A3”)~Range(“U3”)のデータを、Range(“A2”)から、貼り付ける。
Range(“A3”)の列を削除する。
たったこれだけのコードです。
列を、Deleteすると、数式は、エラーになりますが、Clearを利用することで、エラーを回避します。
実質、利用しているコードは、3行です。
自動でPDF作成のコードは、下記の記事を参照してください。
データをイコールで参照するとき 作業手順 その4 なぜ、すべてVBAで実行しないのか?
このシステムに関してですが、実際に、私は実務で利用しています。
申込書の控え等を作成するに、とても便利です。
申込書の内容をすべて、Excelに反映させる場合は、申込書内容の項目は、120~130あります。
なんの規則性もない内容をすべて、Excelに反映させるためには、大変な労力となります。
私は、すべて、Range(“A2”)=ws.Ranfge(“E5”)、このように記載して、3日かかりました。
余談 作業手順 その5 チェックボックスにチェックを入れる
付加サービスの申込があった場合に、チェックボックスにチェックにチェックを入れる場合はがあります。
これも、VBAで実行すると、超面倒です。
しかし、これは、IF関数で対応できます。
このように、チェックを入れることができます。
ここがポイント
以前に、VBAと数式を混同して、利用してはいけないと、ブログでも動画でもいいました。
しかし、今回に限っては例外です。
なぜなら、このシステムを販売するわけではないです。
単純に、業務時間を短縮するだけのシステムです。
そのようなモノは、カンタンなマクロ、カンタンな数式で作成できます。
つまり、会社で作成する書類のフォーマットなんて、整形されたデータベースがあれば、単純に作成できるということです。
まとめ
今回は、給料明細の作成を紹介しました。
もし、会社の書類関係で、うまく作成できない方は、相談していただければと思います。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No266です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。