|
▼UO3 さん
こんばんは。確認が遅くなりまして申し訳ありませんでした。
まず、連絡いただいた内容に対して説明させていただきます。
>まず、そちらのアップされたコードは
>M6〜M36のセルで空白じゃないものを G3 にいれてますよね。
→そのとおりです。
>ところが、説明文では、そうではなく、
>G3 に日付を入れる。(これが人間がいれるのか、別のマクロで入れるのかの説明がありませんが)
→最初の段階で説明が足りませんでした。G3には、年月日の初日を人が入力します。「2014年4月1日」という感じになります。
そして、G3の日付をもとにK6〜K36に、その月の全ての年月日を関数で表示させています。これも上記同様「2014年4月1日」となります。
>で、その結果、A23〜E43 に【何らかの日付が計算されてセットされる】
>このあと、わからないのですが、K6〜K36 に表示された日付・・・
>K6〜K36 については、まったく説明がないので、どんな日付が表示されるのか
>わかりませんが、そこの日付によって、M6〜M36 に日付をセットする?
→上記の他、G3の年月日をもとに、A23〜E43でその年の祝祭日や振替休日を計算しています。なぜこんなことをしているかというと、K6〜K36だけで一月分の様式を印刷すると、不要な祝祭日や振替休日が印刷されてしまいますので、一旦、該当月の日付をK6〜K36に全て表示させ、A23〜E43で計算された祝祭日や振替休日のデータと比較をして、該当しない日付データをM6〜M36に再度表示させています。また、A23〜E43ではあくまでも祝祭日や振替休日だけの計算結果しかありませんので、土日も対象外にするため、M6〜M36の関数では、K6〜K36が土日の場合であって、さらに、A23〜E43に該当しない場合に、日付を表示させるようにしています。結果的に、M6〜M36には、土日、祝祭日、振替休日を除いた平日が表示されるようにしています。頭が悪い私なりに考えた構成になっていますが、他の方が見た場合、複雑かもしれませんね。
>つまり、コードでは M6〜M36 から G3 にセット。
>説明文では(途中経過は↑でコメントしたとおりわかりませんが)G3 から、結果的に M6〜M36 にセットされる?
→最初の説明のとおり、M6〜M36の上から順番にG3へ日付を貼り付けて、印刷していきます。例えば、M6の「2014年4月1日」をG3へ貼り付けて印刷。次にM7の「2014年4月2日」をG3へ貼り付けて印刷、というのをM36まで繰り返すつもりでコードを作っていました。ただ、そのつもりでも、まったく違う内容のコードになっていたかもしれません。
M6〜M36に計算されて表示された日付データだけをG3へ貼り付けることになりますので、K6〜K36やA23〜E43の内容は無関係と思ってました。ご指摘の内容を踏まえると、他の関連する数式も考慮する必要があるようですね。すみません、そこまで考えが足りませんでした。
>全く逆
ですよね?
>何がどうなっているのか、正直わかりません。
>
>A23〜E43 に、どんな式が入っているのか?
>K6〜K36 にはどんな式が入っているのか?
>M6〜M36には、どんな式が入っているのか?
>
>そういったことがわかれば、少しは推測もできるかもしれませんが・・・
→一番早いのは、私が作ったデータを見ていただいたほうがいいんでしょうが、、、それは色々ハードルが高そうです。
全ての数式となると少々お時間をいただきたいと思います。
特に祝祭日や振替休日の数式が複雑ですので、スマフォで入力するには、少々お時間をいただきたいと思います。
U03さん、ご多忙中にも関わらず、色々考えていただきありがとうごさいました。
色々と困っている方に手を差し伸べておられるようですのて、他の方を優先にしていただき、私の質問は一旦、凍結にしたいと思います。
これまでの説明では不十分であり、また、今回も、そして、関数を書き込みしたとしても、ご理解いただける説明ができる自信がありません。
最初教えていただいた内容は、初心者にとって本当に勉強になりました。これまでのU03さんのご厚意を無駄にするかたちになるかもしれませんが、今回は凍結して、十分な説明の準備ができた段階で、改めて、書き込みさせていただきます。
申し訳ありませんでした。
|
|