いちばん失敗した人決定戦

sh1のB列に縦に最大31日分の曜日が並んでいます。この列から最初の1週間分の曜日を祝日を除いて切り取り、Sh2に貼り付けるコードを教えてください。
行を指定して貼り付ける下記コードだと、例として火曜日が祝日だった場合、次の1週間分のシートが月曜始まりにならないため、月曜から土曜までの行を指定し、無い曜日があっても次の1週間分のシートができるようにしたいのですが、、、
findを使って検索し、切り取っていくようなイメージにするには、どのようなコードになるか教えてください。

With Sheets("sh1")
.Range(.Cells(1, "A"), .Cells(6, "AA")).Copy _
Destination:=Sheets("sh2").Range("A1")
End With

2023/07/03 (月)
2023/07/05 (水)
2023/07/06 (木)
2023/07/07 (金)
2023/07/08 (土)
2023/07/10 (月)
2023/07/11 (火)
2023/07/12 (水)
・・・・・
・・・・・
_______________
【Sh1】

2023/07/03 (月)
2023/07/05 (水)
2023/07/06 (木)
2023/07/07 (金)
2023/07/08 (土)
________
【Sh2】

2023/07/10 (月)
2023/07/11 (火)
2023/07/12 (水)
・・・・・
・・・・・
_______
【sh3】

A 回答 (13件中11~13件)

この質問においては7/4がない点でカットペースト?をするようですが、シート1では作業のない日(祝日・休日)は最初から抜いて作成されている感じがしますが、そこはどうなのでしょう。


日曜がそもそもないのは休日と判断できるからですし、シートデータの作成は出勤日に行なうのなら祝日は抜けていても不思議ではない。
凡ミス対策としては気になります。
近年祝日が一時追加したりしますから。

そこは既に手を打っていての必要結果表示がシート1なのかな?
でも7/1がないのは気になりますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。おっしゃるとおりです。
切り出し元のsh1は、日曜祝日及び非稼働日を抜いた精査すみのシートになります。切り出し開始の条件は、最上段の行が月から開始になり、月がなければ火、なければ水...となり、終了は同じ週の土で、土がなければ金、無ければ木...となります。
宜しくお願いします。

お礼日時:2023/07/14 12:37

祝日か否かを判定するためには、祝日を定義したシートが必要です。


祝日を定義したシートはどうなっていますか。
(祝日を定義したシートのシート名は何ですか。そのシートのレイアウトはどうなっていますか。)
    • good
    • 0
この回答へのお礼

ありがとうございます。祝日のシートは特になく、
切り出し元のsh1は、日曜祝日及び非稼働日を抜いた精査すみのシートになります。切り出し開始の条件は、最上段の行が月から開始になり、月がなければ火、なければ水...となります。
宜しくお願いします。

お礼日時:2023/07/14 12:33

7/1(土)は7月の1週目ですが除外されてますよね?


そうなるとある月の1日が土曜で3日月曜日が祝日の場合、書き始めは10日の月曜~となるのでしょうか?
それとも1日は先月分になる?

集計か何かだと思うのですが、1週間の定義をどのように決めているのか?(週の途中での月替わり含め)ちょっと疑問です。
1日が土曜なら除外とするなら仮に金曜なら含めるのか、木曜なら、水曜なら・・・月曜から始まる週だけが有効なのか?
そして終わりになる週の定義は?
    • good
    • 0
この回答へのお礼

ありがとうございます。
切り出し元のsh1は、日曜祝日及び非稼働日を抜いた精査すみのシートになります。切り出し開始の条件は、最上段の行が月から開始になり、月がなければ火、なければ水...となります。
宜しくお願いします。

お礼日時:2023/07/14 12:30

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