dポイントプレゼントキャンペーン実施中!

添付の画像が小さいので見づらく申し訳ありません。
※集計表の画像を添付します。

「元データ」というファイルと「集計表」というファイルが別々に存在します。

【元データ】ファイル
①日付 A列
②社員番号 B列

・(省略)

③計上 時間外割増時間 X列
④計上 休日割増時間 Y列

【集計表】 ファイル
※1人6行→10人分 64行目までの表があります。
部署別に分かれている為、複数シートがあります。

①社員番号 5行目
②氏名 6行~10行目(セル結合)
③日付 H3、I3・・・と一ヵ月分表示
(ここの日付は別シートを参照)

「集計表」ファイルの①社員番号と③の日付が
「元データ」ファイルにあったら、「元データ」ファイルの
X列「計上 時間外割増時間」の数字を「集計表」の実績(当日)に表示させたいです。

同じように土日出勤していた場合は「元データ」のY列「計上 休日割増時間」の数字を表示させたいです。

関数がマクロで処理したいです。
何卒ご教授願います。

「別ファイルデータと条件が合ったデータを別」の質問画像

A 回答 (8件)

こちらにアップしました。


https://ideone.com/9blalC

Const folder As String = "d:\goo\data2"
は、元データを格納してあるフォルダ名です。あなたの環境にあわせて
適切に設定してください。
    • good
    • 1
この回答へのお礼

助かりました

ご丁寧にご教授頂きましてありがとうございます。
明日以降、作成頂いたモジュールの内容を理解した上で、試してみます。
不明点あれば、再度質問させていただきます。

お礼日時:2021/02/16 11:16

>コメントにするとはどういうことでしょうか?


マクロを表示した画面で、その行の頭に、'(シングルクオート)を付けます。
そうすると、その行が緑に変わります。緑の個所は、マクロの実行時は、無視されます。
シングルクオートをとると、元に戻り(黒の色になります)、マクロ実行時、実行されるようになります。
シングルクオートは「Shiftキーと7」を押してください。

念のためこちらにも画像をアップしておきます。
https://gyazo.com/2093992b8a2b921db87cff7612846985
「別ファイルデータと条件が合ったデータを別」の回答画像8
    • good
    • 1
この回答へのお礼

助かりました

おはようございます。
ご丁寧にご教授頂きましてありがとうございます。
早速、コメントにした時としない時とで何が違うのか試してみます。

お礼日時:2021/02/18 07:44

時間をクリアしているのは、リラン(再実行)の為です。


例えば、3月分の元データを作成し、マクロを実行したあとで、元データに誤りがあることに気が付き、再実行したときに、時間のクリアをしておかないと、不整合が生じます。

1回目の実行時
社員 番号=1の人が3月15日に出勤

2回目の実行時
3月15日の出勤は誤りであり3月16日が正しいことに気が付き、
3月15日を3月16日に修正後、マクロを実行。

上記の場合、3月15日分は空で、3月16日に時間が設定されるべきですが、
クリアをしておかないと、3月15日の時間が残ったままになります。

3月からの運用時は、コメントにした箇所をもとに戻して運用してください。
    • good
    • 1
この回答へのお礼

解決しました

こんばんは。

この度はご教授頂きありがとうございました。
無事、処理できました。
感謝いたします。

お礼日時:2021/02/18 18:46

Private Sub GetSheetInfo(ByVal sheet_no As Long, ByVal dicM As Object)


の中の下から3行目ですが、
ws.Range("H" & wrow2 & ":AL" & wrow2).Value = "" '時間クリア
で、時間をクリアしています。
この行をコメントにすると、今までの手入力の時間をクリアしません。
    • good
    • 1
この回答へのお礼

承知いたしました。
ご教授いただきましてありがとうございます。

知識不足で申し訳ありません。

コメントにするとはどういうことでしょうか?

何卒ご教授願います。

お礼日時:2021/02/17 22:34

追伸


速度アップのために、関数式の自働再計算を手動にしています。
マクロが途中で異常終了した場合は、数式タブの「計算方法の設定」を選択し「自動」に戻してください。マクロが正常終了した場合は、自動に戻ります。
    • good
    • 1
この回答へのお礼

昨日はご教授いただきましてありがとうございます。

ご教授頂いたモジュールで問題なく処理ができました。ありがとうございました。

現在、元データの移行期間中でして、集計表の前半のデータを手入力しております為、マクロ実行しましたところ、集計表の前半の入力したデータが消えてしまいました。
事前にご質問頂いた際にお伝えすべきところ
失念しておりました。申し訳ありません。

手入力した日付以降に自動転記する様に修正するようにしたいのですどの部分を修正したら良いでしょうか?

また、修正に伴いお手間をかけてしまうようでしたら
今月のデータのみ全て手入力いたしますので
何卒、ご検討頂けましたら幸いです。

何度も申し訳ありませんが、ご教授願います。

お礼日時:2021/02/17 19:12

>元データ作成の際、対象外データを省く様に


> しますので影響はないと思われます。
> ですので、エラー表示し、打ち切る処理で
> 問題ございません。

もし、「元データ作成の際、対象外データを省く」のが大変であれば、
1案
社員番号が集計シートに存在しない場合は、エラー表示せず、その社員番号の処理のみをスキップし、処理は続行する、
2案
社員番号が集計シートに存在しない場合は、エラー表示し、処理を打ち切る。

上記の1案のようにすることも可能です。
どちらかの案を選択してください。
    • good
    • 1
この回答へのお礼

ご提案ありがとうございます。
可能であれば、1案でお願いできましたら幸いです。
恐れ入りますが、何卒よろしくお願いいたします。

お礼日時:2021/02/16 10:35

1.元データの日付ですが、2/12/21(令和2年)となってますが、


書式設定で、2/12/21となっているだけで、実際はシリアル日付(2020/12/21)が
設定されていると理解して良いですか。

2.祭日判定用に祝日カレンダーを作成しました。
以下の祝日カレンダーを作成してください。
シート名:祝日
集計用シートと同じブック内に格納。
レイアウトは添付図参照。
A列:日付
B列:祝日の文言
マクロはA列のみ参照します。B列は無視。

3.元データの社員コードが、集計用シート内に存在しないケースはありますか。
その場合、エラー表示し、処理を打ち切りますが宜しいでしょうか。
「別ファイルデータと条件が合ったデータを別」の回答画像2
    • good
    • 1
この回答へのお礼

おはようございます。

ご確認の上、ご返信頂きましてありがとうございます。

以下、回答させていただきます。

>1.元データの日付ですが、2/12/21(令和2年)となってますが、書式設定で、2/12/21となっているだけで、実際はシリアル日付(2020/12/21)が
設定されていると理解して良いですか。
→仰る通りです。

>2.祭日判定用に祝日カレンダーを作成しました。
以下の祝日カレンダーを作成してください。
シート名:祝日
集計用シートと同じブック内に格納。
レイアウトは添付図参照。
A列:日付
B列:祝日の文言
マクロはA列のみ参照します。B列は無視。
→ご提示頂きましてありがとうございます。
 同様に作成いたします。

>3.元データの社員コードが、集計用シート内に存在しないケースはありますか。その場合、エラー表示し、処理を打ち切りますが宜しいでしょうか。
→元データ作成の際、対象外データを省く様に
 しますので影響はないと思われます。
 ですので、エラー表示し、打ち切る処理で
 問題ございません。

何度も申し訳ありませんが、よろしくお願いいたします。

お礼日時:2021/02/16 10:15

マクロでの前提ですが


1.元データのシート名はなんですか。
(元データで対象となるシートは1つですね。)

2.元データの該当シートの1行目は見出し行で、データは2行目からですか。

3.集計表側に複数シートがあるということですが、
この集計以外の用途で使用しているシートがありますか。
もし、あるならそれを除く必要があります。
それを除くためのルールをきちんと決める必要があります。
例 左からN個のシートを処理対象にする。(Nは後で決定)
  対象となるシート名を列挙し、それらを対象とする。

4.添付図の例では2021年2月の集計ですが、元データには2021年2月以外のデータもありますか。

5.土日出勤の意味について
>同じように土日出勤していた場合は「元データ」のY列「計上 休日割増時間」の数字を表示させたいです。

ということですが

①土日でない場合は、元データのY列(計上 休日割増時間 )を無視して良いということでしょうか。

②土日の場合は、元データのX列「計上 時間外割増時間」は無視して良いということでしょうか。

③祭日の考慮は一切しないで良いということでしょうか。

6.サンプル画像ですが不鮮明です。
gyozo.comを利用すると鮮明が画像を公開できます。
下記URLがサンプルです。
https://gyazo.com/079331e0385d175510dcec73f6d62463
この画像は今回の質問とは無関係です。鮮明な画像のサンプルとして提示しただけです。
こちらに、画像をアップしていただけるとありがたいです。
    • good
    • 1
この回答へのお礼

ご返信いただきましてありがとうございます。

以下、ご質問いただいた件、記載いたします。

>マクロでの前提ですが
1.元データのシート名はなんですか。
→1シートです。「元データ」です。

>2.元データの該当シートの1行目は見出し行で、データは2行目からですか。
→はい、仰る通りです。

>3.集計表側に複数シートがあるということですが、
この集計以外の用途で使用しているシートがありますか。
もし、あるならそれを除く必要があります。
それを除くためのルールをきちんと決める必要があります。
→ございます。
「フォーマット」と「時間外」というシートを除いたシートを対象としたいです。

>4.添付図の例では2021年2月の集計ですが、元データには2021年2月以外のデータもありますか。
→ございません。1ヵ月ごとに管理しているので
 対象となる月以外のデータはありません。

>5.土日出勤の意味について
>>同じように土日出勤していた場合は「元データ」のY列「計上 休日割増時間」の数字を表示させたいです。ということですが

①土日でない場合は、元データのY列(計上 休日割増時間 )を無視して良いということでしょうか。
→仰る通りです。

②土日の場合は、元データのX列「計上 時間外割増時間」は無視して良いということでしょうか。
→仰る通りです。

③祭日の考慮は一切しないで良いということでしょうか。
→祭日は失念しておりました。
祭日の場合はY列(計上 休日割増時間)を参照としたいです。

>6.サンプル画像ですが不鮮明です。
gyozo.comを利用すると鮮明が画像を公開できます。
→ご丁寧にご教授いただきありがとうございます。
 下記にアップいたしました。

★元データ
https://gyazo.com/40ba9143f93897a65694d73c8940e71b

★集計表
https://gyazo.com/58fa04354f4e765f75698ffafd987b00

何卒ご教授願います。

お礼日時:2021/02/15 18:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!