5枚目のシート,その1枚だけを,目的のブックの所定の場所に差し込みたいという事ですね。
ぶっちゃけ指導するのはメンドクサイので,コタエを書いておきます。自習して,必要な部分は自力で応用してください。
#追加機能
・5枚目のシート名が不適切だった場合の対応
・所定のフォルダが無かった場合の対応
・所定のブックが無かった場合の対応
sub macro1()
dim y,m,d
dim myPath as string
dim w as workbook
dim i as long
’準備
d = thisworkbook.worksheets(5).name
if not d like "??-??-??" then
msgbox "INVALID SHEET NAME"
exit sub
end if
mypath = "c:\どこかのフォルダ\実績フォルダー\" ’★適切に設定
y = year(datevalue(d)) & "年度\"
m = format(datevalue(d), "yy-mm") & ".xls" ’★または".xlsx"
’ブックを開く
on error resume next
mkdir mypath & y
on error goto errhandle
set w = workbooks.open(filename:=mypath & y & m)
on error goto 0
’差込先を探して差し込む
for i = 1 to w.worksheets.count
if w.worksheets(i).name > d then exit for
next i
if i = 1 then
thisworkbook.worksheets(5).copy before:=w.worksheets(1)
else
thisworkbook.worksheets(5).copy after:=w.worksheets(i - 1)
end if
retpos:
’「5枚目のシートを移動したい」場合は次を生かす
'application.displayalerts = false
'thisworkbook.worksheets(5).delete
'application.displayalerts = true
’終了する
w.close savechanges:=true
exit sub
’実績ブックが用意されてなかったら作らないといけない
errhandle:
thisworkbook.worksheets(5).copy
set w = activeworkbook
w.saveas filename:=mypath & y & m
resume retpos
end sub
お礼
keithin先生 質問の拙い表現にもかかわらず、ご推察いただき完璧なご指導を賜り心より御礼申し上げます。 随所に適切なコメントを付記していただいたり、拡張子までご配慮いただきありがとうございました。 お蔭様でこのように出来れば最高と考えていました通り出来ました。