No.2ベストアンサー
- 回答日時:
No.1の回答で、細かくコメント入れたつもりだったんだけど・・・
> シート名にする今日の日付の文字列
> ymd = Format(Now, "yyyymmdd")
これを使えばいいのね。ちなみに、これは、
【ymd】という文字列に、今(Now)の時間を年月日(書式:yyyymmdd)を入れる、という意味。
書式は、セルの書式の表示形式でユーザー定義するときに使うのと同じような表記を使います。
回答してる今現在だと、2018/9/9 になっているので、
「ymd」 は 「20180909」 になります。
No.1のコメントで質問してるのは、月日、曜日を個別に取得したいわけですから、
Range("A1") = Format(Now, "m") ’←mmにすると二桁になります。
Range("C1") = Format(Now, "d") ’←ddにすると二桁になります。
Range("E1") = Format(Now, "aaa") ’ちょっと特殊で、aaaは曜日になります。
こんな風になります。
「月」、「日」、「曜日」という文字は、原本シートに入れとけばいいですよね。
で・・・
すでにシートが存在する場合の警告表示も加えると・・・こんな感じ。
-----------------------
Sub シート追加()
'シート名にする今日の日付の文字列
ymd = Format(Now, "yyyymmdd")
'もし最右シートが今日の日付なら警告表示を出して終了
If Sheets(Sheets.Count).Name = ymd Then
MsgBox "本日のシート [" & ymd & "] は作成済みです。", vbExclamation
Exit Sub
End If
'原本シートを最右に複製
Sheets("原本").Copy After:=Sheets(Sheets.Count)
'複製されたシート名を今日の日付に
Sheets(Sheets.Count).Name = ymd
Range("A1") = Format(Now, "m")
Range("C1") = Format(Now, "d")
Range("E1") = Format(Now, "aaa")
'複製されたシートを表示 ★
Sheets(Sheets.Count).Visible = True '★
End Sub
-----------------------
質問や回答登校だと、
行頭の[TAB]で段下げしたものが削除されて左詰めになってしまいます。
添付画像のように、[TAB]で段下げや空行を交えて書くと、
後で編集するときにわかりやすいです。
ではでは、がんばって下さい。
No.1
- 回答日時:
どう組んだら…と書かれても、
考え方を知りたいという質問なのか、
「VBAで作ってくれ」って丸投げの作成依頼なのか
わかりかねますが。
難しいものではないので、ざっくりと作ってみました。
------------
原本シート名を「原本」とする。
Sub シート追加()
'シート名にする今日の日付の文字列
ymd = Format(Now, "yyyymmdd")
'最右シートが今日の日付なら終了
If Sheets(Sheets.Count).Name = ymd Then Exit Sub
'原本シートを最右に複製
Sheets("原本").Copy After:=Sheets(Sheets.Count)
'複製されたシート名を今日の日付に
Sheets(Sheets.Count).Name = ymd
'複製されたシートを表示 ★
Sheets(Sheets.Count).Visible = True '★
End Sub
処理としてはこれでOK、なはず。(★は無くてもいいです)
これをボタンに割り当てて下さい。
------------
お節介として・・・
謝って原本に直接入力しちゃうのを避けるため、
原本シートは通常非表示にしておくと良いかも。
(上の★は原本非表示のさいに必要になるもの)
で、これも追加して・・・
Sub 原本表示()
'原本シートの表示/非表示の切り替え
If Sheets("原本").Visible = True Then Sheets("原本").Visible = False Else Sheets("原本").Visible = True
End Sub
添付画像のようにボタンに割り当てる。
というのはいかがでしょう?
ありがとうございます!
もう少々教えていただきたいのですが、
日報のフォーマットに今日の日付を反映させるのに、どのように追記したらよろしいでしょうか。
□ 月 ○ 日 △ 曜日
□ A1
月 B1
○ C1
日 D1
△ E1
曜日 F1
□と月は、別セルに入っております。
日報の日に同じシート作成できないよという、メッセージを出したいのですが、
併せて教えていただけますでしょうか。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お肉の下のシートを煮込んでし...
-
エクセルを利用して、日計と累...
-
エクセルでシート間の相対参照
-
エクセルのシートをコピーして...
-
2つのシート間での重複データ...
-
見積作成(エクセル)について...
-
CSV形式で名前を付けて保存 マ...
-
EXCELで受験票を作成したい(名...
-
指定した条件でTRANSPOSE関数を...
-
条件にマッチする行を抽出するV...
-
excel シート1の奇数(偶数)...
-
マクロ 選択範囲及び切り取り...
-
エクセルで2つのシートに同じ名...
-
穴のあいた防水シートの修理
-
エクセルで○のついた項目を抽出
-
Excelで複数のシートに列のグル...
-
EOMONTH関数の代わり
-
こちら防草シートの補修の仕事...
-
スプレッドシート 重複している...
-
チュロス袋の代用
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お肉の下のシートを煮込んでし...
-
エクセルを利用して、日計と累...
-
エクセルのシートをコピーして...
-
毎日の日計を別シートに自動で...
-
2つのシート間での重複データ...
-
条件にマッチする行を抽出するV...
-
エクセルで○のついた項目を抽出
-
excel シート1の奇数(偶数)...
-
指定した条件でTRANSPOSE関数を...
-
チュロス袋の代用
-
エクセルで1行だけ数式が反映さ...
-
エクセルでフラグがたっている...
-
EXCELで受験票を作成したい(名...
-
エクセルで2つのシートに同じ名...
-
EOMONTH関数の代わり
-
複数シートのセルの 記号の数...
-
エクセル ○印がついている行を...
-
excelマクロで複数シート間のデ...
-
Excelで複数のシートに列のグル...
-
Excel VBA 12ヶ月分のシート作成
おすすめ情報