ここから本文です

エクセルマクロで以下の様な作業したいのですが、コードをお教え下さい。 1.日...

shi********さん

2019/11/2912:43:11

エクセルマクロで以下の様な作業したいのですが、コードをお教え下さい。
1.日報作成と言うシートをコピーする。

2.コピーされたシートの名前を今日の日付にする(例えば11/29と表示)
3.マクロ実行で同じシート名があった場合は上書きする
4.日報作成のシートに戻る

宜しくお願いします。

閲覧数:
107
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

cpp********さん

2019/11/2913:00:48

3の上書きはめんどいので、あったら削除という事でよければ。
あと、シート名にスラッシュは使えないのでアンダーバーで代用してます。

Sub 日報コピー()
Dim sh_name As String
Dim sh As Worksheet
Application.ScreenUpdating = False

'シート名形成
sh_name = Format(Date, "mm") & "_" & Format(Date, "dd")
'既にあるかどうかチェック
On Error Resume Next
Set sh = Sheets(sh_name)
On Error GoTo 0
'あったら削除
If Not sh Is Nothing Then
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
End If
'日報コピー&リネーム
Sheets("日報作成").Copy After:=Sheets("日報作成")
ActiveSheet.Name = sh_name
'日報作成シートに戻る
Sheets("日報作成").Activate
'おまけ
Range("A1").Select
Application.Goto ActiveCell, True

Application.ScreenUpdating = True
End Sub

アレンジはご自分でどうぞー。

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる