![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
添付の画像が小さいので見づらく申し訳ありません。
※集計表の画像を添付します。
「元データ」というファイルと「集計表」というファイルが別々に存在します。
【元データ】ファイル
①日付 A列
②社員番号 B列
・
・(省略)
・
③計上 時間外割増時間 X列
④計上 休日割増時間 Y列
【集計表】 ファイル
※1人6行→10人分 64行目までの表があります。
部署別に分かれている為、複数シートがあります。
①社員番号 5行目
②氏名 6行~10行目(セル結合)
③日付 H3、I3・・・と一ヵ月分表示
(ここの日付は別シートを参照)
「集計表」ファイルの①社員番号と③の日付が
「元データ」ファイルにあったら、「元データ」ファイルの
X列「計上 時間外割増時間」の数字を「集計表」の実績(当日)に表示させたいです。
同じように土日出勤していた場合は「元データ」のY列「計上 休日割増時間」の数字を表示させたいです。
関数がマクロで処理したいです。
何卒ご教授願います。
![「別ファイルデータと条件が合ったデータを別」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/9/542439599_6029ee59413bb/M.jpg)
No.4ベストアンサー
- 回答日時:
こちらにアップしました。
https://ideone.com/9blalC
Const folder As String = "d:\goo\data2"
は、元データを格納してあるフォルダ名です。あなたの環境にあわせて
適切に設定してください。
ご丁寧にご教授頂きましてありがとうございます。
明日以降、作成頂いたモジュールの内容を理解した上で、試してみます。
不明点あれば、再度質問させていただきます。
No.8
- 回答日時:
>コメントにするとはどういうことでしょうか?
マクロを表示した画面で、その行の頭に、'(シングルクオート)を付けます。
そうすると、その行が緑に変わります。緑の個所は、マクロの実行時は、無視されます。
シングルクオートをとると、元に戻り(黒の色になります)、マクロ実行時、実行されるようになります。
シングルクオートは「Shiftキーと7」を押してください。
念のためこちらにも画像をアップしておきます。
https://gyazo.com/2093992b8a2b921db87cff7612846985
![「別ファイルデータと条件が合ったデータを別」の回答画像8](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/543026052_602d962dd2823/M.png)
おはようございます。
ご丁寧にご教授頂きましてありがとうございます。
早速、コメントにした時としない時とで何が違うのか試してみます。
No.7
- 回答日時:
時間をクリアしているのは、リラン(再実行)の為です。
例えば、3月分の元データを作成し、マクロを実行したあとで、元データに誤りがあることに気が付き、再実行したときに、時間のクリアをしておかないと、不整合が生じます。
1回目の実行時
社員 番号=1の人が3月15日に出勤
2回目の実行時
3月15日の出勤は誤りであり3月16日が正しいことに気が付き、
3月15日を3月16日に修正後、マクロを実行。
上記の場合、3月15日分は空で、3月16日に時間が設定されるべきですが、
クリアをしておかないと、3月15日の時間が残ったままになります。
3月からの運用時は、コメントにした箇所をもとに戻して運用してください。
No.6
- 回答日時:
Private Sub GetSheetInfo(ByVal sheet_no As Long, ByVal dicM As Object)
の中の下から3行目ですが、
ws.Range("H" & wrow2 & ":AL" & wrow2).Value = "" '時間クリア
で、時間をクリアしています。
この行をコメントにすると、今までの手入力の時間をクリアしません。
承知いたしました。
ご教授いただきましてありがとうございます。
知識不足で申し訳ありません。
コメントにするとはどういうことでしょうか?
何卒ご教授願います。
No.5
- 回答日時:
追伸
速度アップのために、関数式の自働再計算を手動にしています。
マクロが途中で異常終了した場合は、数式タブの「計算方法の設定」を選択し「自動」に戻してください。マクロが正常終了した場合は、自動に戻ります。
昨日はご教授いただきましてありがとうございます。
ご教授頂いたモジュールで問題なく処理ができました。ありがとうございました。
現在、元データの移行期間中でして、集計表の前半のデータを手入力しております為、マクロ実行しましたところ、集計表の前半の入力したデータが消えてしまいました。
事前にご質問頂いた際にお伝えすべきところ
失念しておりました。申し訳ありません。
手入力した日付以降に自動転記する様に修正するようにしたいのですどの部分を修正したら良いでしょうか?
また、修正に伴いお手間をかけてしまうようでしたら
今月のデータのみ全て手入力いたしますので
何卒、ご検討頂けましたら幸いです。
何度も申し訳ありませんが、ご教授願います。
No.3
- 回答日時:
>元データ作成の際、対象外データを省く様に
> しますので影響はないと思われます。
> ですので、エラー表示し、打ち切る処理で
> 問題ございません。
もし、「元データ作成の際、対象外データを省く」のが大変であれば、
1案
社員番号が集計シートに存在しない場合は、エラー表示せず、その社員番号の処理のみをスキップし、処理は続行する、
2案
社員番号が集計シートに存在しない場合は、エラー表示し、処理を打ち切る。
上記の1案のようにすることも可能です。
どちらかの案を選択してください。
No.2
- 回答日時:
1.元データの日付ですが、2/12/21(令和2年)となってますが、
書式設定で、2/12/21となっているだけで、実際はシリアル日付(2020/12/21)が
設定されていると理解して良いですか。
2.祭日判定用に祝日カレンダーを作成しました。
以下の祝日カレンダーを作成してください。
シート名:祝日
集計用シートと同じブック内に格納。
レイアウトは添付図参照。
A列:日付
B列:祝日の文言
マクロはA列のみ参照します。B列は無視。
3.元データの社員コードが、集計用シート内に存在しないケースはありますか。
その場合、エラー表示し、処理を打ち切りますが宜しいでしょうか。
![「別ファイルデータと条件が合ったデータを別」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/a/543026052_602b06d52d610/M.png)
おはようございます。
ご確認の上、ご返信頂きましてありがとうございます。
以下、回答させていただきます。
>1.元データの日付ですが、2/12/21(令和2年)となってますが、書式設定で、2/12/21となっているだけで、実際はシリアル日付(2020/12/21)が
設定されていると理解して良いですか。
→仰る通りです。
>2.祭日判定用に祝日カレンダーを作成しました。
以下の祝日カレンダーを作成してください。
シート名:祝日
集計用シートと同じブック内に格納。
レイアウトは添付図参照。
A列:日付
B列:祝日の文言
マクロはA列のみ参照します。B列は無視。
→ご提示頂きましてありがとうございます。
同様に作成いたします。
>3.元データの社員コードが、集計用シート内に存在しないケースはありますか。その場合、エラー表示し、処理を打ち切りますが宜しいでしょうか。
→元データ作成の際、対象外データを省く様に
しますので影響はないと思われます。
ですので、エラー表示し、打ち切る処理で
問題ございません。
何度も申し訳ありませんが、よろしくお願いいたします。
No.1
- 回答日時:
マクロでの前提ですが
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
この画像は今回の質問とは無関係です。鮮明な画像のサンプルとして提示しただけです。
こちらに、画像をアップしていただけるとありがたいです。
ご返信いただきましてありがとうございます。
以下、ご質問いただいた件、記載いたします。
>マクロでの前提ですが
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
何卒ご教授願います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) エクセルで時間の合計 5 2022/06/04 10:54
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
エクセルファイルのシート毎の容量
-
excelの不要な行の削除ができな...
-
Excelで日付変更ごとに、自動的...
-
ファンモータが作動しない。
-
シート削除して同名シート追加...
-
【再質問】別ファイルデータと...
-
VBAで CTRL+HOMEの位置へ移動...
-
別ファイルデータと条件が合っ...
-
別々のシートの表をピボットテ...
-
エクセルで行の自動非表示の方法は
-
エクセルで名簿を50音で切り分ける
-
エクセル マクロ "特定の日付...
-
他のシートの一番下の行データ...
-
モトローラ2N3055の増幅率について
-
ワークシート名を変数に格納す...
-
「コピペについて」EXCEL初心者...
-
1ヶ月分の日付を一度に出す方法...
-
マクロで印刷→セルの値から部数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数シートからデータを拾って...
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
【エクセルマクロ】複数シート...
-
トランジスタの選び方
-
EXCEL 複数行のデータを1行にま...
-
EXCELで2つのファイルから重複...
-
別々のシートの表をピボットテ...
-
エクセル VBA VLOOKUP
-
他のシートの一番下の行データ...
-
エクセルのカメラ機能について
-
時間帯の重複を除いた集計について
-
EXCEL の表を一行ずつシートに...
-
ファンモータが作動しない。
-
エクセルで名簿を50音で切り分ける
-
エクセル マクロ "特定の日付...
おすすめ情報