pickup

このブログで言いたいことは、

DateSerialは、Excelでも使えます。

目次

 西暦がフォルダ名になっているときの小技です

こんにちは。伊川(@naonaoke)です。

今回は、ExcelのVBAについて紹介をします。

この年の1月から、会社のシステムを作成していました。

散らかったExcelをACCESSに集計する

今月を、ACCESSで指定する

いろいろ、改善をしてきました。

無駄も多いのですが、そもそも、後先を考えないで、ExcelもACCESSも作成してはいけません。

メンテナンスが非常に面倒になるからです。

面倒なメンテナンスをするくらいなら、新規で作成したほうが、早いときがあります。

そうなると、折角作成してモノが無駄になります。

まー、その面倒なメンテナンスをクリアしていくのも、面白いですけど。

今回は、みなさんの実務で、あるあるを紹介したいいと思います。

このブログはこんな人にお勧め

今回のテーマ
  • 毎月、部署内の引継を行うフォルダが、月毎で変わる人
  • VBAを勉強している人
  • パスワードで保護されているExcelを、VBAを利用して開きたい人

このブログを、読み終わるころには・・・・

VBAを利用してパスワードで保護されたExcelを開けるようになります。また、変数の使い方についても、理解ができるようになります。変数の使い方に関しては、頭の体操のような感じです。このブログを一度読むだけで、忘れないと思いまます。

毎月変わるフォルダについて

202101というように、フォルダ名が設定されている場合があります。



スポンサーリンク
そして、202102のように次月には、フォルダ名が変更になる場合があります。

このように、フォルダ名が変更されると、毎回、パスを書き換える必要があります。

なおかつ、そのExcelファイルにパスワードが設定されると、面倒、面倒で嫌になります。

事実、この内容は、私の実務で起こった案件です。

みんなが、口をそろえて、「7回もパスワードを入力したくない」と言っていました。

私自身もやってみると確かに面倒です。

そこでVBAを利用して、解決してみました。

毎月変更させるフォルダに負けるな 作業手順 その1 落ち着いて考える

フォルダ名:202101(2021年1月)の意味 これが、毎月変更される

パスワード:ikawa202101のような組み合わせである

上記の条件で共通しているのは、202101とうものです。

これを、VBAで実装するには、なにを使うかという問題です。

ここをクリアできれば、第一段階はクリアです。

毎月変更させるフォルダに負けるな 作業手順 その2 
DateSerialを使う

前回、DateSerialで月初を求めるということをしました。

今月の月初は、2021/01/01です。

ここに着目すると、2021/01という西暦と、月の組み合わせがあります。

2021/01を202101にできれば何とかなりそうです。

2021/01を202101にフォーマットできれば・・・・・・

そう、Format関数で、変形できそうです。

ここまで、出来たら後はカンタンですね。

パスを下記のように変更します。

これで完成です。

って、ちょっと待った!

このコードだけで終わると、落とし穴があります。

毎月変更させるフォルダに負けるな 作業手順 その3 更に完璧を目指す

どのが落とし穴かと言うと、毎月の月初が問題です。

例えば、2021/02/01の引継は、2021/01/31に入力されるはずです。

2021/01/31の業務終了後、夜が明けると、2021/02/01になっています。

Left(Format(DateSerial(Year(Now), Month(Now), 1), “yyyymmdd”), 6)

そのまま実行すると、2月ようのファイルが開きます。

つまり、2021/01/31の引継を確認できません。

要するに、月初だけは、先月のファイルを開く必要があります。

ここが重要!

ではどのようにするのか?

先月もVBAで開けるようにします。

後は、ファイル名に、この変数を仕込むだけです。

そして、IF構文で条件判定をする必要があります。

もし、今日が、月初ならば、先月のファイルを開く

そうでなければ、

当月のファイルを開く

これで完成です。

ここがポイント

ここがポイント
Function8.png
基本的、ExcelもACCESSもVBAの構文は一緒です。Excelで身に着けた知識、ACCESSで身に着けた知識、それを融合することが大切です。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

今回は、私の会社で困っていたことについて紹介しました。

ちょっとした小技で、煩雑な業務もすっきりさせることができます。

今回も最後まで読んでいただきありがとうございました。

 

今回のサンプルファイルは、No207です。

サンプルファイルを購入希望の方はココをクリック
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事